2010-05-24 80 views
2

我想在PHP(5.2)中使用某種數據結構,主要是爲了不污染全局名稱空間。我想到了兩種使用數組或類的方法。你能告訴我哪種方法更好嗎?在PHP中實現數據結構的最佳方式?

此外,主要目的是存儲配置常量。

感謝

$SQL_PARAMETERS = array (
    'server' => '127.0.0.1', 
    'login' => 'root'); 

class SqlParameters { 
    const SERVER = '127.0.0.1'; 
    const LOGIN = 'root'; 
} 

echo $SQL_PARAMETERS['server']; 
echo SqlParameters::SERVER; 
+0

上面的例子代表你的所有數據結構是否會做?如果是這樣,你不需要上課;一個數組將會做。 – ABach 2010-05-24 16:48:05

+0

爲了簡潔起見,我只提供了一些數據。真正的用法是4-5個數據結構,每個數據結構包含5..10個變量。無論如何,我不希望在全局命名空間中有5 * 10 = 50個變量,如果我可以很好地將他們分組在幾個結構中! – 2010-05-24 16:52:38

+0

發佈PHP版本+1。 – webbiedave 2010-05-24 16:54:41

回答

0

你說你想避免污染你的全局名稱空間,但是創建一個數組將會做到這一點:創建一個全局變量,你將被迫在你的類中調用。這不是最佳實踐,您應該盡一切努力避免全局變量。您在問題中發佈的類示例將是可接受的解決方案,也是由RaYell指出的原因。

+0

我選擇了這個答案,但RaYell的答案也很有趣 – 2010-05-24 18:24:30

4

我想說的是類方法是更好,因爲你不會覆蓋const或意外全班。而且,如果您以後需要這些方法,還可以使用某些方法擴展課程。

+0

我同意 @Double Gras:記住一個對象也可以有對象作爲屬性,從而使複雜的數據結構成爲一塊蛋糕=)OOP FTW – dabito 2010-05-24 17:25:46

2

除非你想要創建方法和多個實例,否則數組將會很好。

相關問題