广

PHP编程

  • IOS开发
  • android开发
  • PHP编程
  • JavaScript
  • ASP.NET
  • ASP编程
  • JSP编程
  • Java编程
  • 易语言
  • Ruby编程
  • Perl编程
  • AJAX
  • 正则表达式
  • C语言
  • 编程开发

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

    2018-10-18 20:39:15 次阅读 稿源:互联网
    零七广告
    代码如下:


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

    ?> 

    零七网部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与零七网进行文章共享合作。

    零七广告
    零七广告
    零七广告
    零七广告