用php实现像JSP,ASP里Application那样的全局变量


Posted in PHP onJanuary 12, 2007
<?php 
/** 
 * 功能:实现像JSP,ASP里Application那样的全局变量 
 * author: [url]www.itzg.net[/url] 
 * version: 1.0 
 * 版权:如许转载请保留版权声明 
 */ 
/*+----------------example---------------------- 
require_once("Application.php"); 
$arr = array(0=>"Hi",1=>"Yes"); 
$a = new Application(); 
$a->setValue("t1","arui"); 
$a->setValue("arr",$arr); 
$u = $a->getValue(); 
---------------------------------------------+*/ 
class Application 
{ 
 /**保存共享变量的文件*/ 
 var $save_file    = 'Application/Application'; 
 /**共享变量的名称*/ 
 var $application  = null; 
 /**序列化之后的数据*/ 
  var $app_data    = ''; 
  /**是否已经做过setValue的操作 防止频繁写文件操作*/ 
  var $__writed    = false; 
  /** 
   * 构造函数 
   */ 
  function Application() 
  { 
   $this->application = array(); 
  } 
  /** 
   * 设置全局变量 
   * @param string $var_name 要加入到全局变量的变量名 
   * @param string $var_value 变量的值 
   */ 
  function setValue($var_name,$var_value) 
  { 
   if (!is_string($var_name) || empty($var_name)) 
    return false; 
   if ($this->__writed) 
   { 
    $this->application[$var_name] = $var_value; 
    return; 
   } 
   $this->application = $this->getValue(); 
   if (!is_array($this->application)) 
    settype($this->application,"array"); 
   $this->application[$var_name] = $var_value; 
   $this->__writed = true; 
      $this->app_data = @serialize($this->application);     
      $this->__writeToFile(); 
  } 
 /** 
  * 取得保存在全局变量里的值 
  * @return array 
  */ 
 function getValue() 
 { 
     if (!is_file($this->save_file)) 
         $this->__writeToFile(); 
     return @unserialize(@file_get_contents($this->save_file)); 
 } 
 /** 
  * 写序列化后的数据到文件 
  * @scope private 
  */ 
 function __writeToFile() 
 { 
  $fp = @fopen($this->save_file,"w"); 
  @fwrite($fp,$this->app_data); 
  @fclose($fp); 
 } 
} 
?> 

PHP 相关文章推荐
解析PHP中DIRECTORY_SEPARATOR,PATH_SEPARATOR两个常量的作用
Jun 21 PHP
destoon常用的安全设置概述
Jun 21 PHP
在Linux系统的服务器上隐藏PHP版本号的方法
Jun 06 PHP
php判断邮箱地址是否存在的方法
Feb 13 PHP
PHP使用内置函数生成图片的方法详解
May 09 PHP
PHP图片添加水印功能示例小结
Oct 03 PHP
Laravel的throttle中间件失效问题解决方法
Oct 09 PHP
Zend Framework路由器用法实例详解
Dec 11 PHP
PHP使用mysqli操作MySQL数据库的简单方法
Feb 04 PHP
php str_getcsv把字符串解析为数组的实现方法
Apr 05 PHP
PHP如何搭建百度Ueditor富文本编辑器
Sep 21 PHP
PHP基础之输出缓冲区基本概念、原理分析
Jun 19 PHP
新手配置 PHP 调试环境(IIS+PHP+MYSQL)
Jan 10 #PHP
phpfans留言版用到的install.php
Jan 04 #PHP
phpfans留言版用到的数据操作类和分页类
Jan 04 #PHP
如何隐藏你的.php文件
Jan 04 #PHP
SMARTY学习手记
Jan 04 #PHP
笑谈配置,使用Smarty技术
Jan 04 #PHP
Smarty模板快速入门
Jan 04 #PHP
You might like
php插入中文到sqlserver 2008里出现乱码的解决办法分享
2012/07/19 PHP
PHP判断IP并转跳到相应城市分站的方法
2015/03/25 PHP
PHP实现的迪科斯彻(Dijkstra)最短路径算法实例
2017/09/16 PHP
免费空间广告万能消除代码
2006/09/04 Javascript
jQuery 版元素拖拽原型代码
2011/04/25 Javascript
JSON为什么那样红为什么要用json(另有洞天)
2012/12/26 Javascript
js获取url参数代码实例分享(JS操作URL)
2013/12/13 Javascript
一道JS前端闭包面试题解析
2015/12/25 Javascript
简述Matlab中size()函数的用法
2016/03/20 Javascript
一些实用性较高的js方法
2016/04/19 Javascript
javascript基于原型链的继承及call和apply函数用法分析
2016/12/15 Javascript
js实现下一页页码效果
2017/03/07 Javascript
JS switch判断 三目运算 while 及 属性操作代码
2017/09/03 Javascript
如何用Node写页面爬虫的工具集
2018/10/26 Javascript
JavaScript 九种跨域方式实现原理
2019/02/11 Javascript
微信小程序实现批量倒计时功能
2020/11/01 Javascript
[04:17]DOTA2完美盛典,rOtk、BurNIng携手巴图演唱《倔强》
2017/11/28 DOTA
[00:12]2018DOTA2亚洲邀请赛 Somnus丶M出阵单挑
2018/04/06 DOTA
Python实现的凯撒密码算法示例
2018/04/12 Python
python3 拼接字符串的7种方法
2018/09/12 Python
python查找指定文件夹下所有文件并按修改时间倒序排列的方法
2018/10/21 Python
python3 实现对图片进行局部切割的方法
2018/12/05 Python
python 实现倒排索引的方法
2018/12/25 Python
python中bs4.BeautifulSoup的基本用法
2019/07/27 Python
python pyinstaller打包exe报错的解决方法
2019/11/02 Python
Windows 下更改 jupyterlab 默认启动位置的教程详解
2020/05/18 Python
python gui开发——制作抖音无水印视频下载工具(附源码)
2021/02/07 Python
美国轮胎网站:Priority Tire
2018/11/28 全球购物
大学生党课思想汇报
2013/12/29 职场文书
物业管理计划书
2014/01/10 职场文书
工业自动化专业自荐信范文
2014/04/10 职场文书
校园活动策划方案
2014/06/13 职场文书
工作骂脏话检讨书
2014/10/05 职场文书
小学入学感言
2015/08/01 职场文书
2015元旦感言
2015/12/09 职场文书
提高系统的吞吐量解决数据库重复写入问题
2022/04/23 MySQL