用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面向对象编程快速入门
Oct 09 PHP
PHP生成带有雪花背景的验证码
Sep 28 PHP
php将fileterms函数返回的结果变成可读的形式
Apr 21 PHP
解析php做推送服务端实现ios消息推送
Jul 01 PHP
php颜色转换函数hex-rgb(将十六进制格式转成十进制格式)
Sep 23 PHP
php第一次无法获取cookie问题处理
Dec 15 PHP
php使用iconv中文截断问题的解决方法
Feb 11 PHP
教你识别简单的免查杀PHP后门
Sep 13 PHP
利用PHP自动生成印有用户信息的名片
Aug 01 PHP
PHP的Trait机制原理与用法分析
Oct 18 PHP
如何在PHP中使用数组
Jun 09 PHP
VSCode+PHPstudy配置PHP开发环境的步骤详解
Aug 20 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
WML,Apache,和 PHP 的介绍
2006/10/09 PHP
PHP中限制IP段访问、禁止IP提交表单的代码
2011/04/23 PHP
setTimeout和setInterval的区别你真的了解吗?
2011/03/31 Javascript
FireFox下XML对象转化成字符串的解决方法
2011/12/09 Javascript
jQuery.clean使用方法及思路分析
2013/01/07 Javascript
JavaScript中对象属性的添加和删除示例
2014/05/12 Javascript
javascript获取dom的下一个节点方法
2014/09/05 Javascript
基于Vue.js的表格分页组件
2016/05/22 Javascript
常用JS图片滚动(无缝、平滑、上下左右滚动)代码大全(推荐)
2016/12/20 Javascript
JS使用插件cryptojs进行加密解密数据实例
2017/05/11 Javascript
vue子组件使用自定义事件向父组件传递数据
2017/05/27 Javascript
详解vuex状态管理模式
2018/11/01 Javascript
Vux+Axios拦截器增加loading的问题及实现方法
2018/11/08 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【矩形情况】
2018/12/13 Javascript
微信小程序开发实现的IP地址查询功能示例
2019/03/28 Javascript
JavaScript this在函数中的指向及实例详解
2019/10/14 Javascript
javascript canvas时钟模拟器
2020/07/13 Javascript
Python的Django框架中的数据过滤功能
2015/07/17 Python
Python使用openpyxl读写excel文件的方法
2017/06/30 Python
Python实现微信自动好友验证,自动回复,发送群聊链接方法
2019/02/21 Python
python 实现PIL模块在图片画线写字
2020/05/16 Python
Python列表如何更新值
2020/05/27 Python
opencv+pyQt5实现图片阈值编辑器/寻色块阈值利器
2020/11/13 Python
Pycharm配置autopep8实现流程解析
2020/11/28 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
意大利运动服减价商店:ScontoSport
2020/03/10 全球购物
软件工程师面试题
2012/06/25 面试题
制药工程专业毕业生推荐信
2013/12/24 职场文书
关于环保的活动方案
2014/08/25 职场文书
文员试用期转正自我鉴定
2014/09/14 职场文书
2014年学生资助工作总结
2014/12/18 职场文书
护士个人年终总结
2015/02/13 职场文书
2019年最新版见习人员管理制度!
2019/07/08 职场文书
Python基于Opencv识别两张相似图片
2021/04/25 Python
Java中PriorityQueue实现最小堆和最大堆的用法
2021/06/27 Java/Android
通过shell脚本对mysql的增删改查及my.cnf的配置
2021/07/07 MySQL