用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的FTP学习(二)[转自奥索]
Oct 09 PHP
PHP默认安装产生系统漏洞
Oct 09 PHP
php写的带缓存数据功能的mysqli类
Sep 06 PHP
php解析html类库simple_html_dom(详细介绍)
Jul 05 PHP
PHP模板引擎Smarty的缓存使用总结
Apr 24 PHP
PHP使用GIFEncoder类生成的GIF动态图片验证码
Jul 01 PHP
php导出CSV抽象类实例
Sep 24 PHP
php中addslashes函数与sql防注入
Nov 17 PHP
php延迟静态绑定实例分析
Feb 08 PHP
PHP实现小偷程序实例
Oct 31 PHP
php UNIX时间戳用法详解
Feb 16 PHP
PHP接口继承及接口多继承原理与实现方法详解
Oct 18 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
默默简单的写了一个模板引擎
2007/01/02 PHP
php设计模式 Mediator (中介者模式)
2011/06/26 PHP
探讨PHP删除文件夹的三种方法
2013/06/09 PHP
ThinkPHP实现二级循环读取的方法
2014/11/03 PHP
利用Laravel生成Gravatar头像地址的优雅方法
2017/12/30 PHP
PHP解决高并发的优化方案实例
2020/12/10 PHP
jQuery使用手册之 事件处理
2007/03/24 Javascript
JS实现QQ图片一闪一闪的效果小例子
2013/07/31 Javascript
jquery 按键盘上的enter事件
2014/05/11 Javascript
简单介绍JavaScript的变量和数据类型
2015/06/03 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
jQuery+json实现的简易Ajax调用实例
2015/12/14 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
简单谈谈原生js的math对象
2017/06/27 Javascript
webpack4.x开发环境配置详解
2018/08/04 Javascript
解决koa2 ctx.render is not a function报错问题
2018/08/07 Javascript
JS数组实现分类统计实例代码
2018/09/30 Javascript
微信小程序使用map组件实现路线规划功能示例
2019/01/22 Javascript
详解vue 不同环境配置不同的打包命令
2019/04/07 Javascript
SQLite3中文编码 Python的实现
2017/01/11 Python
Mac 上切换Python多版本
2017/06/17 Python
用 Python 爬了爬自己的微信朋友(实例讲解)
2017/08/25 Python
如何高效使用Python字典的方法详解
2017/08/31 Python
python多进程控制学习小结
2018/10/31 Python
Python简单过滤字母和数字的方法小结
2019/01/09 Python
django中ORM模型常用的字段的使用方法
2019/03/05 Python
python3+PyQt5 创建多线程网络应用-TCP客户端和TCP服务器实例
2019/06/17 Python
详解Django 时间与时区设置问题
2019/07/23 Python
Python 在OpenCV里实现仿射变换—坐标变换效果
2019/08/30 Python
Python3 元组tuple入门基础
2020/02/09 Python
python 瀑布线指标编写实例
2020/06/03 Python
海外淘书首选:AbeBooks
2017/07/31 全球购物
意大利奢侈品购物网站:Giglio
2018/01/05 全球购物
威盛公司软件C++工程师笔试题面试题
2012/07/16 面试题
2014新年寄语
2014/01/20 职场文书
三八妇女节超市活动方案
2014/08/18 职场文书