2010-05-24 102 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

除非你想要创建方法和多个实例,否则数组将会很好。