⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 flash.class.php

📁 ProjectPier 源码 很好的项目管理程序
💻 PHP
字号:
<?php  /**  * Flash service  *  * Purpose of this service is to make some data available across pages. Flash  * data is available on the next page but deleted when execution reach its end.  *  * Usual use of Flash is to make possible that current page pass some data  * to the next one (for instance success or error message before HTTP redirect).  *  * Flash service as a concep is taken from Rails. This thing really rocks!  *  * @version 1.0  * @http://www.projectpier.org/  */  class Flash {      /**    * Data that prevous page left in the Flash    *    * @var array    */    private $previous = array();        /**    * Data that current page is saving for the next page    *    * @var array    */    private $next = array();        /**    * Read flash data on construction    *    * @access public    * @param void    * @return FlashService    */    function __construct() {      $this->readFlash();    } // end func __construct        /**    * Return specific variable from the flash. If value is not found NULL is    * returned    *    * @access public    * @param string $var Variable name    * @return mixed    */    function getVariable($var) {      return isset($this->previous[trim($var)]) ? $this->previous[trim($var)] : null;    } // end func getVariable        /**    * Add specific variable to the flash. This variable will be available on the    * next page unlease removed with the removeVariable() or clear() method    *    * @access public    * @param string $var Variable name    * @param mixed $value Variable value    * @return void    */    function addVariable($var, $value) {      $this->next[trim($var)] = $value;      $this->writeFlash();    } // end func addVariable        /**    * Remove specific variable for the Flash    *    * @access public    * @param string $var Name of the variable that need to be removed    * @return void    */    function removeVariable($var) {      if (isset($this->next[trim($var)])) {        unset($this->next[trim($var)]);      } // if      $this->writeFlash();    } // end func removeVariable        /**    * Call this function to clear flash. Note that data that previous page    * stored will not be deleted - just the data that this page saved for    * the next page    *    * @access public    * @param void    * @return void    */    function clear() {      $this->next = array();    } // end func cleare        /**    * This function will read flash data from the $_SESSION variable    * and load it into $this->previous array    *    * @access private    * @param void    * @return void    */    function readFlash() {            // Get flash data...      $flash_data = array_var($_SESSION, 'flash_data');            // If we have flash data set it to previous array and forget it :)      if (!is_null($flash_data)) {        if (is_array($flash_data)) {          $this->previous = $flash_data;        } // if        unset($_SESSION['flash_data']);      } // if          } // end func readFlash        /**    * Save content of the $this->next array into the $_SESSION autoglobal var    *    * @access private    * @param void    * @return void    */    function writeFlash() {      $_SESSION['flash_data'] = $this->next;    } // end func writeFlash        /**    * Return flash service instance    *    * @access public    * @param void    * @return FlashService    */    static function &instance() {      static $instance;            // Check instance...      if (!instance_of($instance, 'Flash')) {        $instance = new Flash();      } // if            // Return instance...      return $instance;          } // end func instance      } // end class Flash?>

⌨️ 快捷键说明

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