在MVC设置中处理配置变量的正确方法(PHP)
问题描述:
我正在用PHP编写我的第一个基本裸骨架MVC模式设置。我知道全局变量是不好的,我也知道我不希望所有的类都能访问我所有的配置变量。在MVC设置中处理配置变量的正确方法(PHP)
我有一个settings.php文件,我想定义一堆常量,像我的db连接信息,目录结构信息,电子邮件地址等。这将是一个集中的地点,它拥有我所有的重要信息。
什么是实现一个配置类的最佳方式,以便我的控制器和模型的每个基类只能访问他们需要的配置变量?例如,我的模型基类应该可以访问db连接信息。
基本上我只是问如何让任何人在不声明全局变量的情况下自己的MVC设置处理配置信息,就像我们过去在程序时代回来一样。
感谢。
答
我推出了自己的MVC设置。 (仍然很强大,可能会开源)。我这样做的方式是有一个初始化脚本,将所有这些常量传递给控制类。
控制类是一个单例。所以任何时候,其他类都需要访问它,它只是获取控制类的现有实例,并且所有变量都可以从中获得。
答
你会得到一堆答案,因为它基本上归结为偏好。
个人而言,我使用了一个配置数组。例如:
$conf['db']['username'] = "username";
$conf['db']['password'] = "password";
然后只是通过byref你需要的片断到他们需要去的地方。
它被称为PMVC。如果过度概化,那么避免meme的全局变量也是有点无意义的。 – mario 2010-11-18 18:51:36
啊男人没有好回答:( – 2011-02-23 19:24:04