用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程序?
Dec 08 PHP
PHP+Tidy-完美的XHTML纠错+过滤
Apr 10 PHP
什么是MVC,好东西啊
May 03 PHP
phpMyAdmin2.11.6安装配置方法
Aug 24 PHP
php下目前为目最全的CURL中文说明
Aug 01 PHP
PHP浮点数精度问题汇总
May 13 PHP
示例详解Laravel重置密码代码重构
Aug 10 PHP
CentOS 7.2 下编译安装PHP7.0.10+MySQL5.7.14+Nginx1.10.1的方法详解(mini版本)
Sep 01 PHP
浅谈PHP面向对象之访问者模式+组合模式
May 22 PHP
PHP批量删除jQuery操作
Jul 23 PHP
PHP实现动态获取函数参数的方法示例
Apr 02 PHP
PHP filesize函数用法浅析
Feb 15 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数组转换js数组操作及json_encode的用法详解
2013/10/26 PHP
php统计时间和内存使用情况示例分享
2014/03/13 PHP
ThinkPHP实现支付宝接口功能实例
2014/12/02 PHP
PHP 使用memcached简单示例分享
2015/03/05 PHP
php基于数组函数实现关联表的编辑操作示例
2017/07/04 PHP
javascript 通用简单的table选项卡实现
2010/05/07 Javascript
js function使用心得
2010/05/10 Javascript
Jquery 实现grid绑定模板
2015/01/28 Javascript
jquery控制显示服务器生成的图片流
2015/08/04 Javascript
jquery判断复选框是否选中进行答题提示特效
2015/12/10 Javascript
JS获取复选框的值,并传递到后台的实现方法
2016/05/30 Javascript
jQuery中slidedown与slideup方法用法示例
2016/09/16 Javascript
Bootstrap Table从零开始
2017/06/30 Javascript
基于Bootstrap模态对话框只加载一次 remote 数据的解决方法
2017/07/09 Javascript
基于Two.js实现星球环绕动画效果的示例
2017/11/06 Javascript
使用Vue CLI创建typescript项目的方法
2019/08/09 Javascript
react MPA 多页配置详解
2019/10/18 Javascript
vue项目强制清除页面缓存的例子
2019/11/06 Javascript
Python multiprocessing.Manager介绍和实例(进程间共享数据)
2014/11/21 Python
Python将xml和xsl转换为html的方法
2015/03/10 Python
python批量赋值操作实例
2018/10/22 Python
Python OpenCV 调用摄像头并截图保存功能的实现代码
2019/07/02 Python
python time.sleep()是睡眠线程还是进程
2019/07/09 Python
Django实现文件上传下载
2019/10/06 Python
tensorflow 只恢复部分模型参数的实例
2020/01/06 Python
Scrapy模拟登录赶集网的实现代码
2020/07/07 Python
开发人员所需要知道的HTML5性能分析面面观
2012/07/05 HTML / CSS
html5指南-4.使用Geolocation实现定位功能
2013/01/07 HTML / CSS
Html5原生拖拽相关事件简介以及基础实现
2020/11/19 HTML / CSS
菲律宾领先的在线时尚商店:Zalora菲律宾
2018/02/08 全球购物
nohup的用法
2012/11/26 面试题
爱情检讨书大全
2014/01/21 职场文书
法人任命书范本
2014/06/04 职场文书
2016年公共机构节能宣传周活动总结
2016/04/05 职场文书
怎么禁用Windows 11快照布局? win11不使用快照布局的技巧
2021/11/21 数码科技
Python万能模板案例之matplotlib绘制甘特图
2022/04/13 Python