用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 __autoload函数(自动载入类文件)的使用方法
Feb 04 PHP
PHP中使用crypt()实现用户身份验证的代码
Sep 05 PHP
PHP中的生成XML文件的4种方法分享
Oct 06 PHP
深入解析PHP垃圾回收机制对内存泄露的处理
Jun 14 PHP
php最简单的删除目录与文件实现方法
Nov 28 PHP
php中smarty实现多模版网站的方法
Jun 11 PHP
Thinkphp自定义代码生成工具及用法说明(附下载地址)
May 27 PHP
PHP进行批量任务处理不超时的解决方法
Jul 11 PHP
php简单压缩css样式示例
Sep 22 PHP
PHP抓取远程图片(含不带后缀的)教程详解
Oct 21 PHP
php+ajax实现异步上传文件或图片功能
Jul 18 PHP
PHP命名空间定义与用法实例分析
Aug 14 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定时执行计划任务的多种方法小结
2011/12/19 PHP
IIS下PHP的三种配置方式对比
2014/11/20 PHP
JavaScript DOM学习第八章 表单错误提示
2010/02/19 Javascript
aspx中利用js实现确认删除代码
2010/07/22 Javascript
js移除事件 js绑定事件实例应用
2012/11/28 Javascript
2则自己编写的jQuery特效分享
2015/02/26 Javascript
js操作css属性实现div层展开关闭效果的方法
2015/05/11 Javascript
JS实现模拟风力的雪花飘落效果
2015/05/13 Javascript
Javascript使用post方法提交数据实例
2015/08/03 Javascript
jQuery dateRangePicker插件使用方法详解
2017/07/28 jQuery
浅谈基于Vue.js的移动组件库cube-ui
2017/12/20 Javascript
vue实现商品加减计算总价的实例代码
2018/08/12 Javascript
详解html-webpack-plugin插件(用法总结)
2018/09/12 Javascript
详解vue2.0模拟后台json数据
2019/05/16 Javascript
基于element-ui对话框el-dialog初始化的校验问题解决
2020/09/11 Javascript
[43:32]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS NewBee第一场
2014/05/26 DOTA
python中threading超线程用法实例分析
2015/05/16 Python
Python循环语句中else的用法总结
2016/09/11 Python
Python实现的密码强度检测器示例
2017/08/23 Python
python中文分词教程之前向最大正向匹配算法详解
2017/11/02 Python
基于MTCNN/TensorFlow实现人脸检测
2018/05/24 Python
python创建属于自己的单词词库 便于背单词
2019/07/30 Python
django连接oracle时setting 配置方法
2019/08/29 Python
python路径的写法及目录的获取方式
2019/12/26 Python
解决Pytorch 加载训练好的模型 遇到的error问题
2020/01/10 Python
Django怎么在admin后台注册数据库表
2020/11/14 Python
Pytest测试框架基本使用方法详解
2020/11/25 Python
VICHY薇姿美国官方网站:欧洲药房第一的抗衰老品牌
2017/11/22 全球购物
将n个数按输入顺序的逆序排列,用函数实现
2012/11/14 面试题
外贸公司实习自我鉴定
2013/09/24 职场文书
2014年端午节活动方案
2014/03/11 职场文书
2014班子成员自我剖析材料思想汇报
2014/10/01 职场文书
活动经费申请报告
2015/05/15 职场文书
ES6 解构赋值的原理及运用
2021/05/25 Javascript
如何将JavaScript将数组转为树形结构
2021/06/02 Javascript
JavaScript实现简单计时器
2021/06/22 Javascript