用php實(shí)現(xiàn)像JSP,ASP里Application那樣的全局變量
更新時(shí)間:2007年01月12日 00:00:00 作者:
復(fù)制代碼 代碼如下:
<?php
/**
* 功能:實(shí)現(xiàn)像JSP,ASP里Application那樣的全局變量
* author: [url]www.itzg.net[/url]
* version: 1.0
* 版權(quán):如許轉(zhuǎn)載請(qǐng)保留版權(quán)聲明
*/
/*+----------------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;
/**序列化之后的數(shù)據(jù)*/
var $app_data = '';
/**是否已經(jīng)做過(guò)setValue的操作 防止頻繁寫文件操作*/
var $__writed = false;
/**
* 構(gòu)造函數(shù)
*/
function Application()
{
$this->application = array();
}
/**
* 設(shè)置全局變量
* @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));
}
/**
* 寫序列化后的數(shù)據(jù)到文件
* @scope private
*/
function __writeToFile()
{
$fp = @fopen($this->save_file,"w");
@fwrite($fp,$this->app_data);
@fclose($fp);
}
}
?>
相關(guān)文章
源碼分析系列之json_encode()如何轉(zhuǎn)化一個(gè)對(duì)象
這篇文章主要介紹了源碼分析系列之json_encode()如何轉(zhuǎn)化一個(gè)對(duì)象,對(duì)json_encode()感興趣的同學(xué),可以參考下2021-04-04
php number_format() 函數(shù)通過(guò)千位分組來(lái)格式化數(shù)字的實(shí)現(xiàn)代碼
以下是對(duì)php中的number format()函數(shù)通過(guò)千位分組來(lái)格式化數(shù)字的實(shí)現(xiàn)代碼進(jìn)行了詳細(xì)的分析介紹,需要的朋友可以過(guò)來(lái)參考下2013-08-08
PHP數(shù)組實(shí)例總結(jié)與說(shuō)明
PHP中共有超過(guò)30個(gè)新的數(shù)組相關(guān)函數(shù),其中很多通用函數(shù)允許您檢查給定數(shù)組中是否存在特定對(duì)象、對(duì)數(shù)組元素計(jì)數(shù)、增加或刪除元素,或?qū)υ嘏判颉?2011-08-08
PHP三層結(jié)構(gòu)(上) 簡(jiǎn)單三層結(jié)構(gòu)
我們以一個(gè)簡(jiǎn)單的留言板代碼為例,先來(lái)看一個(gè)最簡(jiǎn)單的三層結(jié)構(gòu)代碼2010-07-07
mysql5.0更改登錄密碼完成架站完成大斌的BLOG也一并處理今天忙了整整一天,做了一些無(wú)聊并且重復(fù)的體力勞動(dòng),幾乎沒(méi)有學(xué)到什么東西,卻浪費(fèi)了一天時(shí)間。可惜,可悲,可嘆。不過(guò)總算把算服務(wù)器的MYSQL登錄密碼和PHPMYADMIN的遠(yuǎn)程訪問(wèn)方式改好了。MYSQL自4.1起就更改了加密方式,講原先16位的加密改成40位,把我害苦了,怎么都連接不上。查遍資料今天總算搞定了通過(guò)PHPMYADMIN更改MYSQL密碼,個(gè)人覺(jué)得簡(jiǎn)單實(shí)用2008-03-03
php中OR與|| AND與&&的區(qū)別總結(jié)
以下是對(duì)php中OR與|| AND與&&的區(qū)別進(jìn)行了詳細(xì)的總結(jié)介紹,需要的朋友可以過(guò)來(lái)參考下2013-10-10
PHP中uploaded_files函數(shù)使用方法詳解
PHP uploaded_files函數(shù)的功能非常強(qiáng)大,希望通過(guò)這篇文章中介紹的內(nèi)容能夠幫助我們解決相關(guān)問(wèn)題,提高我們對(duì)PHP語(yǔ)言的了解程度。2011-03-03

