如何在PHP中定義超全局數組?在PHP中定義自定義超全局數組
我知道沒有辦法做到這一點。不過,我認爲可能會有一些「大腦」知道解決它的方法。具體而言,我想每個.php文件都有一個數組,我擁有相同的數據。我也想訪問這樣的:
echo $_HANS["foo"];
或
if(isset($_HANS["foo"]) && !empty($_HANS["foo"])) // DO
重要的,我是,我不希望有一個靜態類,在這裏我要訪問我的成員如下:
myClass::myVariable;
現在我有這樣的事情,但我想這不是真正有效:
define('HANS', serialize(array('FooKey' => 'FooData')));
要訪問它,我必須反序列化它。將數據存儲在變量中,然後我可以使用索引運算符。
$_HANS = array();
foreach(unserialize(HANS) as $Key => $Data)
{
$_HANS[$Key] = $Data;
}
echo $_HANS["FooKey"];
必須有一種方法可以在每個文件中跳過這整個foreach文件。
編輯=======================================
好吧,所以現在我有了一個小小的解決方法,它應該比包含一個全新的文件更有效一些。不過我還是聽了一個更好的解決辦法:)
我只是把這個代碼上面的全局函數:
function getData()
{
$_DATA = array();
foreach(unserialize(HANS) as $Key => $Data)
{
$_DATA[$Key] = $Data;
}
return $_DATA;
}
我要做的一切的就是把下面這行代碼在每一個。 PHP文件:
$_HANS = getData();
約php.ini的問題是與公司提供的「虛擬主機」的兼容性。他們經常給你一個Apache,PHP,MySQL和Perl的預定義安裝(通常是:LAMP),並且不允許你編輯php.ini文件。
包括與其他文件 – 2013-08-01 20:43:16