application.php

来自「视频监控网络部分的协议ddns,的模块的实现代码,请大家大胆指正.」· PHP 代码 · 共 178 行

PHP
178
字号
<?php//// +----------------------------------------------------------------------+// | PEAR :: Cache                                                        |// +----------------------------------------------------------------------+// | Copyright (c) 1997-2003 The PHP Group                                |// +----------------------------------------------------------------------+// | This source file is subject to version 2.02 of the PHP license,      |// | that is bundled with this package in the file LICENSE, and is        |// | available at through the world-wide-web at                           |// | http://www.php.net/license/2_02.txt.                                 |// | If you did not receive a copy of the PHP license and are unable to   |// | obtain it through the world-wide-web, please send a note to          |// | license@php.net so we can mail you a copy immediately.               |// +----------------------------------------------------------------------+// | Authors: Richard Heyes <richard@phpguru.org>                         |// +----------------------------------------------------------------------+//// $Id: Application.php,v 1.5 2003/01/04 11:54:45 mj Exp $require_once 'Cache.php';// Application level variables//// Purpose// Variables that are persisent across all user sessions,// not just a specific user ala normal sessions.//// Usage://// Example 1://// $app  =& new Cache_Application();// $_APP =& $app->getData();//// In this case the $_APP variable is akin to the $_SESSION variable.// If you add/remove stuff, it will be reflected in the next request// (of any user).//// Example 2://// $foo = 'Some data';// $bar = 'Some other data';//// $app =& new Cache_Application();// $app->register('foo');// $app->register('bar', $bar); //// $foo = 'Different data';//// In this case the variables are registered with the register() function.// This is akin to session_register().//// As with session_register(), the contents of the variable at the *end* of the// request is registered and not at the point of registration. Therefore in this// example, for the $foo variable, the string 'Different data' is stored and not // 'Some data'. The exception to this rule is if you use the second argument to// register() as in the second call to it above. This will cause the data supplied// in the second argument to be stored and not the contents at the end of the request.//// Note: If you use this method with register_globals turned on, the variables will be//       automatically globalled upon startup, (ie. when you create the object).//// Note: If you register a variable that is not set when the script finishes, it will//       registered as NULL.////// *** You are strongly recommended to use only one method of the two above. ***//// (In fact if you use the register() function with register_globals Off, you have to//  use the $_APP method to get at the data).class Cache_Application extends Cache {    var $data;    var $id;    var $group;    var $registered_vars;    /**    * Constructor    *    * @param    string  Name of container class    * @param    array   Array with container class options    */    function Cache_Application($container = 'file', $container_options = array('cache_dir' => '/tmp/', 'filename_prefix' => 'cache_'), $id = 'application_var', $group = 'application_cache')    {        $this->id    = $id;        $this->group = $group;        $this->registered_vars = array();        $this->Cache($container, $container_options);        $this->data = $this->isCached($this->id, $this->group) ? unserialize($this->get($this->id, $this->group)) : array();        // If register_globals on, global all registered variables        if (ini_get('register_globals') AND is_array($this->data)) {            foreach ($this->data as $key => $value) {                global $$key;                $$key = $value;            }        }    }    /**    * Destructor    *    * Gets values of all registered variables and stores them. Then calls save() to    * write data away.    */    function _Cache_Application()    {        // Get contents of all registered variables        if (is_array($this->registered_vars) AND !empty($this->registered_vars)) {            foreach ($this->registered_vars as $varname) {                global $$varname;                $this->data[$varname] = $$varname;            }        }        // Save the data        $this->save($this->id, serialize($this->data), 0, $this->group);    }    /**    * register()    *    * Registers a variable to be stored.    *    * @param    string  Name of variable to register    * @param    mixed   Optional data to store    */    function register($varname, $data = null)    {        if (isset($data)) {            $this->data[$varname] = $data;        } else {            $this->registered_vars[] = $varname;        }    }    /**    * unregister()    *    * Unregisters a variable from being stored.    *    * @param    string  Name of variable to unregister    */    function unregister($varname)    {        if (isset($this->data[$varname])) {            unset($this->data[$varname]);        }    }    /**    * clear()    *    * Removes all stored data    */    function clear()    {        $this->data = array();    }    /**    * getData()    *    * Use this to get a reference to the data to manipulate    * in calling script. Eg. $_APP =& $obj->getData();    *    * @return mixed   A reference to the data    */    function &getData()    {        return $this->data;    }}?>

⌨️ 快捷键说明

复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?