2013-05-25 200 views
0

我永遠在向上和向下移動我的代碼添加和刪除全局變量的函數。在全局變量內部定義全局變量PHP

是否有可能將全局變量內的全局變量傳遞給函數以保存每次函數中的定義?如果沒有,是否有更好的方法來做到這一點?

我的目標是在每個頁面的頂部有一個全局變量索引,而不必擔心必須在函數內定義它們。

global $site; 
$site = "global $link, $create, $populate, $delete, $withdraw"; 

$host = ""; 
$username = ""; 
$password = ""; 
$database = ""; 

$link = mysqli_connect("$host", "$username", "$password", "$database"); 

function display() { global $site; // code } 
function populate() { global $site; // code } 
function create() { global $site; // code } 
function withdraw() { global $site; // code } 

    //output 

回答

2

林不知道我是否理解得很好。但是,你爲什麼不使$site和數組而不是一個字符串?

像這樣:

$host = ""; 
$username = ""; 
$password = ""; 
$database = ""; 

$link = mysqli_connect("$host", "$username", "$password", "$database"); 

$site = array(
    'link'  => $link, 
    'create' => $create, 
    'populate' => $populate, 
    'delete' => $delete, 
    'withdraw' => $withdraw, 
); 

function display() { 
    global $site; 
    // Here you can access & modify your $site array 
} 
+0

病檢查了這一點,做了一些深入研究這一點,似乎它不是最好的做法,你可以失去追蹤哪些變量被用作全局,除非你在一一列舉每個功能的頂部;如果你這樣做,你可能只是定義它們。如果您一次又一次地在負載函數中使用完全相同的變量,這將非常有用。再次感謝theo +1。 – Edward