用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安装全攻略:APACHE
Oct 09 PHP
php的控制语句
Oct 09 PHP
PDO版本问题 Invalid parameter number: no parameters were bound
Jan 06 PHP
探讨方法的重写(覆载)详解
Jun 08 PHP
ThinkPHP多语言支持与多模板支持概述
Aug 22 PHP
php中file_get_content 和curl以及fopen 效率分析
Sep 19 PHP
thinkPHP实现瀑布流的方法
Nov 29 PHP
Yii中CGridView关联表搜索排序方法实例详解
Dec 03 PHP
Linux中为php配置伪静态
Dec 17 PHP
5款适合PHP使用的HTML编辑器推荐
Jul 03 PHP
Yii2创建多界面主题(Theme)的方法
Oct 08 PHP
OAuth认证协议中的HMACSHA1加密算法(实例)
Oct 25 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
磨咖啡豆的密诀
2021/03/03 冲泡冲煮
PHP5中的this,self和parent关键字详解教程
2007/03/19 PHP
win2003服务器使用WPS的COM组件的一些问题解决方法
2012/01/11 PHP
php获取远程文件的内容和大小
2015/11/03 PHP
微信支付PHP SDK之微信公众号支付代码详解
2015/12/09 PHP
PHP使用strrev翻转中文乱码问题的解决方法
2017/01/13 PHP
PHP实现的登录页面信息提示功能示例
2017/07/24 PHP
javascript cookies操作集合
2010/04/12 Javascript
XMLHTTP 乱码的解决方法(UTF8,GB2312 编码 解码)
2011/01/12 Javascript
javascript全局变量封装模块实现代码
2012/11/28 Javascript
jQuery学习笔记(1)--用jQuery实现异步通信(用json传值)具体思路
2013/04/08 Javascript
jquery的clone方法应用于textarea和select的bug修复
2014/06/26 Javascript
在JavaScript里防止事件函数高频触发和高频调用的方法
2014/09/06 Javascript
js使用for循环及if语句判断多个一样的name
2014/09/09 Javascript
使用JS实现jQuery的addClass, removeClass, hasClass函数功能
2014/10/31 Javascript
原生js结合html5制作简易的双色子游戏
2015/03/30 Javascript
JavaScript使用位运算符判断奇数和偶数的方法
2015/06/01 Javascript
JS控制FileUpload的上传文件类型实例代码
2016/10/07 Javascript
JavaScript中绑定事件的三种方式及去除绑定
2016/11/05 Javascript
JS常用加密编码与算法实例总结
2016/12/22 Javascript
JavaScript实现数组降维详解
2017/01/05 Javascript
浅谈super-vuex使用体验
2018/06/25 Javascript
JS实现的定时器展示简单秒表、页面弹框及跳转操作完整示例
2020/01/26 Javascript
微信小程序开发打开另一个小程序的实现方法
2020/05/17 Javascript
[01:15:44]首部DOTA2纪录片今日23时全网上映
2014/03/19 DOTA
在Pandas中DataFrame数据合并,连接(concat,merge,join)的实例
2019/01/29 Python
python3正则模块re的使用方法详解
2020/02/11 Python
详解CSS的border边框属性及其在CSS3中的新特性
2016/05/10 HTML / CSS
巴西葡萄酒商店:Divvino
2020/02/22 全球购物
家教广告词
2014/03/19 职场文书
12岁生日演讲稿
2014/05/14 职场文书
2015年护士节活动策划方案
2015/05/04 职场文书
开学第一天的感想
2015/08/10 职场文书
关于感恩的作文
2019/08/26 职场文书
Oracle 临时表空间SQL语句的实现
2021/09/25 Oracle
JavaScript实现栈结构详细过程
2021/12/06 Javascript