用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里的JS打印函数
Oct 09 PHP
如何利用php+mysql保存和输出文件
Oct 09 PHP
ajax php 实现写入数据库
Sep 02 PHP
基于php设计模式中工厂模式详细介绍
May 15 PHP
具有时效性的php加密解密函数代码
Jun 19 PHP
php采集文章中的图片获取替换到本地(实现代码)
Jul 08 PHP
让CodeIgniter数据库缓存自动过期的处理的方法
Jun 12 PHP
修复ShopNC使用QQ 互联时提示100010 错误
Nov 08 PHP
php基于Fleaphp框架实现cvs数据导入MySQL的方法
Feb 23 PHP
php rsa 加密,解密,签名,验签详解
Dec 06 PHP
PHP实现浏览器中直接输出图片的方法示例
Mar 14 PHP
PHP实现基于PDO扩展连接PostgreSQL对象关系数据库示例
Mar 31 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/10/09 PHP
php将一维数组转换为每3个连续值组成的二维数组
2016/05/06 PHP
Yii 2.0实现联表查询加搜索分页的方法示例
2017/08/02 PHP
jQuery ready函数滥用分析
2011/02/16 Javascript
JavaScript 用Node.js写Shell脚本[译]
2012/09/20 Javascript
JavaScript 更严格的相等 [译]
2012/09/20 Javascript
js获取元素到文档区域document的(横向、纵向)坐标的两种方法
2013/05/17 Javascript
我用的一些Node.js开发工具、开发包、框架等总结
2014/09/25 Javascript
get(0).tagName获得作用标签示例代码
2014/10/08 Javascript
jquery单选框radio绑定click事件实现方法
2015/01/14 Javascript
javascript基于DOM实现权限选择实例分析
2015/05/14 Javascript
JavaScript获得url查询参数的方法
2015/07/02 Javascript
javascript的BOM汇总
2015/07/16 Javascript
gameboy网页闯关游戏(riddle webgame)--仿微信聊天的前端页面设计和难点
2016/02/21 Javascript
浅谈js的ajax的异步和同步请求的问题
2016/10/07 Javascript
通过BootStrap-select插件 js jQuery控制select属性变化
2017/01/03 Javascript
node.js的exports、module.exports与ES6的export、export default深入详解
2017/10/26 Javascript
微信小程序(订阅消息)功能
2019/10/25 Javascript
微信小程序页面渲染实现方法
2019/11/06 Javascript
JS实现进度条动态加载特效
2020/03/25 Javascript
[02:18]《我与DAC》之工作人员:为了热爱DOTA2的玩家们
2018/03/28 DOTA
Python 命令行参数sys.argv
2008/09/06 Python
Python实现从脚本里运行scrapy的方法
2015/04/07 Python
Python使用urllib2模块实现断点续传下载的方法
2015/06/17 Python
利用numpy实现一、二维数组的拼接简单代码示例
2017/12/15 Python
利用python将图片转换成excel文档格式
2017/12/30 Python
在Python中append以及extend返回None的例子
2019/07/20 Python
Django restful framework生成API文档过程详解
2020/11/12 Python
分布式全文检索引擎ElasticSearch原理及使用实例
2020/11/14 Python
菲律宾票务网站:StubHub菲律宾
2018/04/21 全球购物
广州某公司软件工程师面试题
2014/12/22 面试题
UNIX操作系统结构由哪几部分组成
2016/02/17 面试题
负责人任命书范本
2014/06/04 职场文书
中学教师暑期培训方案
2014/08/27 职场文书
学生违纪检讨书200字
2014/10/21 职场文书
2014年政协委员工作总结
2014/12/01 职场文书