用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 相关文章推荐
如何去掉文章里的 html 语法
Oct 09 PHP
php数据库连接
Oct 09 PHP
php长字符串定义方法
Jul 12 PHP
检查用户名是否已在mysql中存在的php写法
Jan 20 PHP
PHP在网页中动态生成PDF文件详细教程
Jul 05 PHP
PHP中curl_setopt函数用法实例分析
Apr 16 PHP
PHP读取配置文件类实例(可读取ini,yaml,xml等)
Jul 28 PHP
YII框架中搜索分页jQuery写法详解
Dec 19 PHP
PHP符合PSR编程规范的实例分享
Dec 21 PHP
ZendFramework2连接数据库操作实例
Apr 18 PHP
PHP7新功能总结
Apr 14 PHP
laravel 实现划分admin和home 模块分组
Oct 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
PHP4中实现动态代理
2006/10/09 PHP
Thinkphp模板标签if和eq的区别和比较实例分析
2015/07/01 PHP
PHP+jQuery实现双击修改table表格功能示例
2019/02/21 PHP
PHP如何通过带尾指针的链表实现'队列'
2020/10/22 PHP
javaScript对象和属性的创建方法
2007/01/15 Javascript
JavaScript改变CSS样式的方法汇总
2015/05/07 Javascript
js和jquery实现监听键盘事件示例代码
2020/06/24 Javascript
Augularjs-起步详解
2016/07/08 Javascript
js数组常用操作方法小结(增加,删除,合并,分割等)
2016/08/02 Javascript
利用jquery给指定的table动态添加一行、删除一行的方法
2016/10/12 Javascript
jQuery实现点击某个div打开层,点击其他div关闭层实例分析(阻止冒泡)
2016/11/18 Javascript
js实现简单的手风琴效果
2017/02/27 Javascript
基于DOM节点删除之empty和remove的区别(详解)
2017/09/11 Javascript
JavaScript实现获取select下拉框中第一个值的方法
2018/02/06 Javascript
详解vue2.6插槽更新v-slot用法总结
2019/03/09 Javascript
JS开发常用工具函数(小结)
2019/07/04 Javascript
vue 保留两位小数 不能直接用toFixed(2) 的解决
2020/08/07 Javascript
基于javascript的无缝滚动动画实现2
2020/08/07 Javascript
python实现的jpg格式图片修复代码
2015/04/21 Python
Python如何实现文本转语音
2016/08/08 Python
Python实现k-means算法
2018/02/23 Python
Django框架视图层URL映射与反向解析实例分析
2019/07/29 Python
python3使用GUI统计代码量
2019/09/18 Python
Python实现FLV视频拼接功能
2020/01/21 Python
python tkinter GUI绘制,以及点击更新显示图片代码
2020/03/14 Python
详解python 支持向量机(SVM)算法
2020/09/18 Python
美国最古老的精致书写工具制造商:A.T. Cross(高仕)
2018/01/30 全球购物
应届生体育教师自荐信
2013/10/03 职场文书
医学专业毕业生个人求职信
2013/12/25 职场文书
师范院校学生自荐信范文
2013/12/27 职场文书
社会学专业求职信
2014/07/17 职场文书
土木工程专业本科生求职信
2014/10/01 职场文书
农村党建工作汇报材料
2014/10/27 职场文书
职业规划从高考志愿专业选择开始
2019/08/08 职场文书
Windows Server 2019 安装DHCP服务及相关配置
2022/04/28 Servers
纯CSS实现一个简单步骤条的示例代码
2022/07/15 HTML / CSS