用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 相关文章推荐
mysql_num_rows VS COUNT 效率问题分析
Apr 23 PHP
php日期转时间戳,指定日期转换成时间戳
Jul 17 PHP
测试php连接mysql是否成功的代码分享
Jan 24 PHP
destoon找回管理员密码的方法
Jun 21 PHP
两种设置php载入页面时编码的方法
Jul 29 PHP
使用PHP和HTML5 FormData实现无刷新文件上传教程
Sep 06 PHP
PHP使用flock实现文件加锁的方法
Jul 01 PHP
Zend Framework动作助手(Zend_Controller_Action_Helper)用法详解
Mar 05 PHP
php微信公众平台配置接口开发程序
Sep 22 PHP
thinkPHP显示不出验证码的原因与解决方法分析
May 20 PHP
Yii2 queue的队列使用详解
Jul 19 PHP
ThinkPHP5&amp;5.1实现验证码的生成、使用及点击刷新功能示例
Feb 07 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
Apache2 httpd.conf 中文版
2006/11/17 PHP
php join函数应用
2011/05/04 PHP
YII路径的用法总结
2014/07/09 PHP
thinkphp备份数据库的方法分享
2015/01/04 PHP
ThinkPHP框架里隐藏index.php
2016/04/12 PHP
php+jQuery递归调用POST循环请求示例
2016/10/14 PHP
PHP抽象类基本用法示例
2018/12/28 PHP
ext form 表单提交数据的方法小结
2008/08/08 Javascript
div+css布局的图片连续滚动js实现代码
2010/05/04 Javascript
谈谈JavaScript中的函数与闭包
2013/04/14 Javascript
JavaScript 节流函数 Throttle 详解
2016/07/04 Javascript
JS数组去掉重复数据只保留一条的实现代码
2016/08/11 Javascript
详解vue-router 2.0 常用基础知识点之导航钩子
2017/05/10 Javascript
JS实现点击Radio动态更新table数据
2017/07/18 Javascript
浅谈Vue.js 组件中的v-on绑定自定义事件理解
2017/11/17 Javascript
浅谈vue,angular,react数据双向绑定原理分析
2017/11/28 Javascript
浅谈react受控组件与非受控组件(小结)
2018/02/09 Javascript
vue中动态添加class类名的方法
2018/09/05 Javascript
使用vuepress搭建静态博客的示例代码
2019/02/14 Javascript
ES6学习笔记之let与const用法实例分析
2020/01/22 Javascript
python 查找字符串是否存在实例详解
2017/01/20 Python
python matplotlib实现双Y轴的实例
2019/02/12 Python
详解python运行三种方式
2019/05/13 Python
Python装饰器原理与基本用法分析
2020/01/07 Python
tensorflow之tf.record实现存浮点数数组
2020/02/17 Python
python+opencv边缘提取与各函数参数解析
2020/03/09 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
HTML5 history新特性pushState、replaceState及两者的区别
2015/12/26 HTML / CSS
英国精品买手店:Browns Fashion
2016/09/29 全球购物
巴黎卡诗美国官方网站:始于1964年的头发头皮护理专家
2017/07/10 全球购物
德国高端单身人士交友网站:ElitePartner
2018/12/02 全球购物
同居协议书范本
2014/04/23 职场文书
小区门卫的岗位职责
2014/09/26 职场文书
欠款起诉书范文
2015/05/19 职场文书
领导莅临指导欢迎词
2015/09/30 职场文书
CSS SandBox应用场景及常见问题
2022/06/25 HTML / CSS