2011-03-02 141 views
0

創建可以從文件到文件使用的變量,甚至是對象到對象的最佳方式是什麼?例如:PHP自定義全局變量

設置文件將包含一個這樣的數組:如果你需要的是全球性的網站配置屬性在所有PHPS

<?php 
$config = array(
      'key1' => 'val1', 
      'key2' => 'val2' 
); 
?> 


<?php 
class config { 
    function get_data($file){ 
     require_once('config/'.$file.'.php'); 
     foreach($config as $key => $val){ 
      $this->$key = $val; 
     } 
    } 
} 
?> 
+0

它真的取決於變量的用法。您可以使用會話/ cookies/db存儲等。請詳細說明或使用變量。 – 2011-03-02 04:15:56

+0

許多許多許多其他可能的重複[讀寫配置文件](http://stackoverflow.com/questions/2237291/reading-and-writing-configuration-files) – Gordon 2011-03-02 08:07:42

回答

0

config.php只是定義了一些陣列/變量和include它(如數據庫的用戶名和密碼,保存上傳文件的路徑等)。

5

最好的方法是在您的PHP配置文件中使用define()並將其包含在整個網站中。這將防止您意外覆蓋配置中的值。

但是,這個問題是,數組是不允許的。只有標量和空值是允許的。

另一種方法是將配置文件與靜態類結合使用。只有靜態類才能直接訪問該文件,並且可以使用該類來獲取值。

CakePHP和Zend(等)使用此方法

+0

。配置文件+靜態類是一個很好且廣泛的解決方案。 – glomad 2011-03-02 05:55:47

+1

@ithcy statics是普遍的,但絕對不是「好」:http://misko.hevery.com/code-reviewers-guide/flaw-brittle-global-state-singletons/ – Gordon 2011-03-02 08:09:16