用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获取新浪微博数据API实例
Nov 12 PHP
php实现快速排序的三种方法分享
Mar 12 PHP
PHP获取音频文件的相关信息
Jun 22 PHP
PHP实现递归复制整个文件夹的类实例
Aug 03 PHP
PHP判断上传文件类型的解决办法
Oct 20 PHP
Yii2.0表关联查询实例分析
Jul 18 PHP
php版微信公众平台回复中文出现乱码问题的解决方法
Sep 22 PHP
yii2.0数据库迁移教程【多个数据库同时同步数据】
Oct 08 PHP
php封装的smartyBC类完整实例
Oct 19 PHP
CI框架中类的自动加载问题分析
Nov 21 PHP
php对xml文件的增删改查操作实现方法分析
May 19 PHP
PHP+Ajax简单get验证操作示例
Mar 02 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
第四节--构造函数和析构函数
2006/11/16 PHP
php preg_match_all结合str_replace替换内容中所有img
2008/10/11 PHP
php实现的单一入口应用程序实例分析
2015/09/23 PHP
php UNIX时间戳用法详解
2017/02/16 PHP
thinkPHP5实现的查询数据库并返回json数据实例
2017/10/23 PHP
JS Timing
2007/04/21 Javascript
漂亮的widgets,支持换肤和后期开发新皮肤(2007-4-27已更新1.7alpha)
2007/04/27 Javascript
jQuery Lightbox 图片展示插件使用说明
2010/04/25 Javascript
fckeditor粘贴Word时弹出窗口取消的方法
2014/10/30 Javascript
AngularJS封装指令方法详解
2016/12/12 Javascript
javascript实现一个网页加载进度loading
2017/01/04 Javascript
angular.js+node.js实现下载图片处理详解
2017/03/31 Javascript
详解vue组件通信的三种方式
2017/06/30 Javascript
jquery如何实现点击空白处隐藏元素
2017/12/05 jQuery
微信小程序之分享页面如何返回首页的示例
2018/03/28 Javascript
浅谈微信小程序之官方UI框架we-ui使用教程
2018/08/20 Javascript
基于vue-cli npm run build之后vendor.js文件过大的解决方法
2018/09/27 Javascript
前端性能优化建议
2020/09/17 Javascript
[59:42]Secret vs Alliacne 2019国际邀请赛小组赛 BO2 第一场 8.15
2019/08/17 DOTA
用python实现面向对像的ASP程序实例
2014/11/10 Python
使用Python的Tornado框架实现一个一对一聊天的程序
2015/04/25 Python
Python 逐行分割大txt文件的方法
2017/10/10 Python
浅谈python新式类和旧式类区别
2019/04/26 Python
Python Numpy 实现交换两行和两列的方法
2019/06/26 Python
Python 获取指定文件夹下的目录和文件的实现
2019/08/30 Python
Python实现CAN报文转换工具教程
2020/05/05 Python
Farnell德国:电子元器件供应商
2018/07/10 全球购物
开业庆典邀请函
2014/01/08 职场文书
财产公证书
2014/04/10 职场文书
网络优化专员求职信
2014/05/04 职场文书
最常使用的求职信
2014/05/25 职场文书
计算机求职信
2014/07/02 职场文书
慰问信格式规范
2015/03/23 职场文书
小学班主任教育随笔
2015/08/15 职场文书
接收函
2019/04/22 职场文书
《乙女游戏世界对路人角色很不友好》OP主题曲无字幕动画MV公开
2022/04/05 日漫