用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 相关文章推荐
使用apache模块rewrite_module (转)
Feb 14 PHP
php目录管理函数小结
Sep 10 PHP
PHP中return 和 exit 、break和contiue 区别与用法
Apr 09 PHP
php标签云的实现代码
Oct 10 PHP
php Imagick获取图片RGB颜色值
Jul 28 PHP
Symfony模板的快捷变量用法实例
Mar 17 PHP
PHP通过CURL实现定时任务的图片抓取功能示例
Oct 03 PHP
PHP实现Google plus的好友拖拽分组效果
Oct 21 PHP
ThinkPHP 3.2.2实现事务操作的方法
May 05 PHP
PHP框架laravel的.env文件配置教程
Jun 07 PHP
PHP类的自动加载机制实现方法分析
Jan 10 PHP
PHP pthreads v3下的Volatile简介与使用方法示例
Feb 21 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
不用数据库的多用户文件自由上传投票系统(2)
2006/10/09 PHP
ThinkPHP文件缓存类代码分享
2015/04/22 PHP
解析 thinkphp 框架中的部分方法
2017/05/07 PHP
Docker搭建自己的PHP开发环境
2018/02/24 PHP
Laravel配置全局公共函数的方法步骤
2019/05/09 PHP
一步一步制作jquery插件Tabs实现过程
2010/07/06 Javascript
jQuery EasyUI API 中文文档 - Spinner微调器使用
2011/10/21 Javascript
原生javascript实现DIV拖拽并计算重复面积
2015/01/02 Javascript
jQuery实现冻结表格行和列
2015/04/29 Javascript
详解Angular2中的编程对象Observable
2016/09/17 Javascript
View.post() 不靠谱的地方你知道多少
2017/08/29 Javascript
JS实现数组简单去重及数组根据对象中的元素去重操作示例
2018/01/05 Javascript
express如何使用session与cookie的方法
2018/01/30 Javascript
原生JS实现的雪花飘落动画效果
2018/05/03 Javascript
8个有意思的JavaScript面试题
2019/07/30 Javascript
[01:48]2018DOTA2亚洲邀请赛主赛事第二日五佳镜头 VG完美团战逆转TNC
2018/04/05 DOTA
Python Tkinter基础控件用法
2014/09/03 Python
跟老齐学Python之通过Python连接数据库
2014/10/28 Python
Python编程之多态用法实例详解
2015/05/19 Python
django 修改server端口号的方法
2018/05/14 Python
想学python 这5本书籍你必看!
2018/12/11 Python
python三引号如何输入
2020/07/06 Python
浅谈如何使用python抓取网页中的动态数据实现
2020/08/17 Python
基于Python爬取素材网站音频文件
2020/10/21 Python
HTML5 播放 RTSP 视频的实例代码
2019/07/29 HTML / CSS
Myprotein蛋白粉美国官网:欧洲畅销运动营养品牌
2016/11/15 全球购物
美国受信赖的教育产品供应商:Nest Learning
2018/06/14 全球购物
加拿大时装零售商:Influence U
2018/12/22 全球购物
Clarks鞋澳大利亚官方网站:Clarks Australia
2019/12/25 全球购物
2015年社会治安综合治理工作总结
2015/04/10 职场文书
卡特教练观后感
2015/06/08 职场文书
导游词之长城八达岭
2019/09/24 职场文书
100句拼搏进取的名言警句,值得一读!
2019/10/07 职场文书
详解盒子端CSS动画性能提升
2021/05/24 HTML / CSS
详解Vue的列表渲染
2021/11/20 Vue.js
《仙剑客栈2》第一弹正式宣传片公开 年内发售
2022/04/07 其他游戏