用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实现WEB动态网页静态
Oct 09 PHP
php 空格,换行,跳格使用说明
Dec 18 PHP
php 日期和时间的处理-郑阿奇(续)
Jul 04 PHP
php中批量替换文件名的实现代码
Jul 20 PHP
PHP+Ajax异步通讯实现用户名邮箱验证是否已注册( 2种方法实现)
Dec 28 PHP
destoon安装出现Internal Server Error的解决方法
Jun 21 PHP
PHP多文件上传类实例
Mar 07 PHP
浅析ThinkPHP缓存之快速缓存(F方法)和动态缓存(S方法)(日常整理)
Oct 26 PHP
php文件管理基本功能简单操作
Jan 16 PHP
PHP实现登陆并抓取微信列表中最新一组微信消息的方法
Jul 10 PHP
php关联数组与索引数组及其显示方法
Mar 12 PHP
thinkPHP5框架实现多数据库连接,跨数据连接查询操作示例
May 29 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游戏编程25个脚本代码
2011/02/08 PHP
析构函数与php的垃圾回收机制详解
2013/10/28 PHP
php中简单的对称加密算法实现
2017/01/05 PHP
PHP快速推送微信模板消息
2017/04/14 PHP
fckeditor 获取文本框值的实现代码
2009/02/09 Javascript
javascript下string.format函数补充
2010/08/24 Javascript
js静态方法与实例方法分析
2011/07/04 Javascript
javascript 基础篇2 数据类型,语句,函数
2012/03/14 Javascript
JS编程小常识很有用
2012/11/26 Javascript
js身份证判断方法支持15位和18位
2014/03/18 Javascript
javasctipt如何显示几分钟前、几天前等
2014/04/30 Javascript
Javascript访问器属性实例分析
2014/12/30 Javascript
原生javascript获取元素样式
2014/12/31 Javascript
jQuery无刷新分页完整实例代码
2015/10/27 Javascript
值得分享的轻量级Bootstrap Table表格插件
2016/05/30 Javascript
Javascript之String对象详解
2016/06/08 Javascript
jQuery EasyUI datagrid在翻页以后仍能记录被选中行的实现代码
2016/08/15 Javascript
jsp 网站引入外部css或者js失效问题解决
2016/10/31 Javascript
微信小程序选择图片和放大预览图片功能
2017/11/02 Javascript
原生JavaScrpit中异步请求Ajax实现方法
2017/11/03 Javascript
vue使用$emit时,父组件无法监听到子组件的事件实例
2018/02/26 Javascript
对angularjs框架下controller间的传值方法详解
2018/10/08 Javascript
微信小程序使用wx.request请求服务器json数据并渲染到页面操作示例
2019/03/30 Javascript
JointJS JavaScript流程图绘制框架解析
2019/08/15 Javascript
[47:43]Alliance vs KG 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python实现将json文件中向量写入Excel的方法
2018/03/26 Python
python得到windows自启动列表的方法
2018/10/14 Python
pandas ix &amp;iloc &amp;loc的区别
2019/01/10 Python
将tensorflow.Variable中的某些元素取出组成一个新的矩阵示例
2020/01/04 Python
python神经网络编程实现手写数字识别
2020/05/27 Python
python打包多类型文件的操作方法
2020/09/21 Python
举例详解HTML5中使用JSON格式提交表单
2015/06/16 HTML / CSS
德国网上药房:Apotal
2017/04/04 全球购物
临床医学大学生求职信
2013/09/28 职场文书
股票投资建议书
2014/05/19 职场文书
MySQL Router的安装部署
2021/04/24 MySQL