用php实现像JSP,ASP里Application那样的全局变量_php技巧

复制代码 代码如下:

<?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);
 }
}

?> 

时间: 2024-09-24 13:37:44

用php实现像JSP,ASP里Application那样的全局变量_php技巧的相关文章

asp清空application的方法_应用技巧

做网站中,如果用到了大量的application会占用大量的服务器资源,所以我们在退出后台的时候可以,清空下数据,网站的运行速度也会快Application 对象实现在给定的应用程序的所有用户之间共享信息,并在服务器运行期间持久的保存数据.而且,Application 对象还有控制访问应用层数据的方法和可用于在应用程序启动和停止时触发过程的事件.  虽然 Application 对象没有内置的属性,但我们可以使用以下句法设置用户定义的属性也可称为集合. Application("属性/集合名称&

PHP,ASP.JAVA,JAVA代码格式化工具整理_php技巧

PHP代码格式化工具http://www.waterproof.fr/products/phpCodeBeautifier/最近修改一个代码,里面完全没有缩进,用这个能够格式化一下.相当于以前c 的indent顺便写一下其他语言的c, c++ c# ==> indent Astylejava ==> astyle Jalopy Jacobe ImportScrbberphp ==> phpCodeBeautifierperl ==> perlTidypython ==> Py

php里array_work用法实例分析_php技巧

本文实例讲述了php里array_work用法.分享给大家供大家参考.具体如下: // the test array $array = array( 'php', 'arrays', 'are', 'cool' ); // some variable for testing: $some_var = 'NEW'; // the function that get's called for each entry function format_array_values(&$item, $key,

php生成的html meta和link标记在body标签里 顶部有个空行_php技巧

1.php中用smarty模板生成的html在浏览器中顶部有一空行. 2.用firedebug发现 meta和link标记在body标签里. 本机上wmap运行没事, 送到远程服务器上是IASP的服务, 会出现上述bug. 看了下源文件, 文本一样的. 但保存时提示编码问题.估计是utf-8问题了. 在网上找了下, 是utf-8 BOM问题. 解决方法: 用UltraEdit32把smarty模板文件即引用的模板文件(如include的header,footer等文件)全另存为无BOM的utf-

php用ini_get获取php.ini里变量值的方法_php技巧

本文实例讲述了php用ini_get获取php.ini里变量值的方法.分享给大家供大家参考.具体分析如下: 要得到php.ini里的变量值,当然,你可以用phpinfo();来得到所有php配置信息,但如果要想得到某个变量值的话,你又要怎样获取呢? php里提供一个获取php.ini里的变量值的函数:ini_get() ini_get()的用法非常简单,下面通过实例说明它是如何使用的. 语法: string ini_get ( string varname ) 返回值如果为布尔型则为0或1 实例

PHP中调用ASP.NET的WebService的代码_php技巧

其中有个web method像这样的: 复制代码 代码如下: [WebMethod] public string HelloWorld() { return "Hello World"; } ok,一切就绪.在某php文件中如下写法: php5本身就支持SOAP调用Web Service: 复制代码 代码如下: <?php //get localization strings from C# webservice $client = new SoapClient('http://

老版本PHP转义Json里的特殊字符的函数_php技巧

在给一个 App 做 API,从服务器端的 MySQL 取出数据,然后生成 JSON.数据中有个字段叫 content,里面保存了文章内容,含有大量 HTML 标签,这个字段在转 json 的时候需要转义,因为有大量的特殊字符会破坏 json 的结构. 比如这么一段 content: 复制代码 代码如下: 'Lorem ipsum "dolor" sit amet, consectetur \ adipiscing elit.' 则必须要转化为: 复制代码 代码如下: Lorem ip

PHP里的中文变量说明_php技巧

PHP的一个有效的变量名由字母或者下划线开头,后面跟上任意数量的字母,数字,或者下划线.按照正常的正则表达式,它将被表述为:'[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*'. 注: 在此所说的字母是 a-z,A-Z,以及 ASCII 字符从 127 到 255(0x7f-0xff). 复制代码 代码如下: <?php $var = 'Bob'; $Var = 'Joe'; echo "$var, $Var"; // 输出 "Bob,

我想将前台jsp页面里的多个tr放在一个集合里,传输到后台每个tr作为一个对象,

问题描述 我想将前台jsp页面里的多个tr放在一个集合里,传输到后台每个tr作为一个对象, 求一个function将多个tr作为一个集合传输到后台,每个tr作为一个对象. <table> <tr> <td align="center"> 11001</td> <td> 广中含内容</td> <td> <dsgf>第四条 </td> <td>严重</td>