• 技术文章 >php教程 >php手册

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

    2016-06-13 12:34:22原创383

    复制代码 代码如下:



    /**
    * 功能:实现像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);
    }
    }

    ?>


    声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。
    上一篇:开发大型 PHP 项目的方法 下一篇:自己动手写 PHP MVC 框架(40节精讲/巨细/新人进阶必看)

    相关文章推荐

    • PHP代码:Http断点续传的实现例子• PHP5中Cookie与 Session使用详解• php实现文件下载更能介绍• php写的简易聊天室代码• 整理:Apache+MySql+PHP的快速安装
    1/1

    PHP中文网