用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&amp;&amp;mysql)二
Oct 09 PHP
PHP 替换模板变量实现步骤
Aug 24 PHP
PHPMyadmin 配置文件详解(配置)
Dec 03 PHP
PHP程序级守护进程的实现与优化的使用概述
May 02 PHP
解析在apache里面给php写虚拟目录的详细方法
Jun 24 PHP
php中ftp_chdir与ftp_cdup函数用法
Nov 18 PHP
PHP实现批量上传单个文件
Dec 29 PHP
PHP简单获取及判断提交来源的方法
Apr 22 PHP
Thinkphp结合ajaxFileUpload实现异步图片传输示例
Mar 13 PHP
tp框架(thinkPHP)实现三次登陆密码错误之后锁定账号功能示例
May 24 PHP
tp5框架无刷新分页实现方法分析
Sep 26 PHP
PHP7 其他语言层面的修改
Mar 09 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信息函数
2015/10/21 PHP
详解强大的jQuery选择器之基本选择器、层次选择器
2012/02/07 Javascript
js获取height和width的方法说明
2013/01/06 Javascript
jquery禁止输入数字以外的字符的示例(纯数字验证码)
2014/04/10 Javascript
JS实现静止元素自动移动示例
2014/04/14 Javascript
jQuery中slideUp()方法用法分析
2014/12/24 Javascript
详解JavaScript中的异常处理方法
2015/06/16 Javascript
根据Bootstrap Paginator改写的js分页插件
2016/12/25 Javascript
jQuery Form表单取值的方法
2017/01/11 Javascript
防止重复发送 Ajax 请求
2017/02/15 Javascript
webpack-dev-server自动更新页面方法
2018/02/22 Javascript
浅谈node.js 命令行工具(cli)
2018/05/10 Javascript
vue+iview+less 实现换肤功能
2018/08/17 Javascript
使用Angular 6创建各种动画效果的方法
2018/10/10 Javascript
js实现拾色器插件(ColorPicker)
2020/05/21 Javascript
JavaScript indexOf()原理及使用方法详解
2020/07/09 Javascript
[11:27]《一刀刀一天》之DOTA全时刻20:TI4总奖金突破920W TS赛事分析
2014/06/18 DOTA
Python实现从订阅源下载图片的方法
2015/03/11 Python
使用Python绘制图表大全总结
2017/02/11 Python
pygame加载中文名mp3文件出现error
2017/03/31 Python
详解tensorflow实现迁移学习实例
2018/02/10 Python
python3.6.3转化为win-exe文件发布的方法
2018/10/31 Python
PyQt5下拉式复选框QComboCheckBox的实例
2019/06/25 Python
python中doctest库实例用法
2020/12/31 Python
北美个性化礼品商店:Things Remembered
2018/06/12 全球购物
韩国流行时尚女装网站:Dintchina(中文)
2018/07/19 全球购物
环境工程大学生自荐信
2013/10/21 职场文书
小学教育毕业生自荐信
2013/11/18 职场文书
门卫岗位职责说明书
2014/08/18 职场文书
2014最新离职证明范本
2014/09/12 职场文书
整改报告怎么写
2014/11/06 职场文书
2015年幼儿园学前班工作总结
2015/05/18 职场文书
新农村建设指导员工作总结
2015/08/13 职场文书
Pytorch使用shuffle打乱数据的操作
2021/05/20 Python
python中os.path.join()函数实例用法
2021/05/26 Python
九大龙王魂骨,山龙王留下躯干骨,榜首死的最憋屈(被捏碎)
2022/03/18 国漫