创建网站时,我总是只有一个config.php
文件,其中包含一堆常量,并且将其包含在每个PHP文件的顶部:
1。 config.php
// config.php
$hostname = get_user();
define("HOME", "/home/$hostname/my/website");
define("DB_USER", 'username');
define("DB_PASS", 'password');
这很容易,我从来没有遇到过问题。但是这是在大型PHP网站中处理配置的标准方法吗?
我认为最好将所有配置包含在一个类中,如下所示:
2。配置类
class Config {
public $home;
const DB_USER = 'username';
const DB_PASS = 'password';
function __construct() {
$hostname = get_current_user();
$this->home = "/home/$hostname/my/website";
}
}
但这似乎会使配置更加复杂,因为:
摘要。
我意识到该类提供了命名空间,但是将config放入这样的类中还有什么好处呢?
简而言之,现在仍然坚持经典的config.php文件还可以吗,还是出于某些原因我希望使用一种更加面向对象的配置方法?
编辑:
答案 0 :(得分:1)
可以使用站点范围内的配置文件。您通常将config类用于特定于库的配置,以便库仅严格接受定义良好的配置对象作为其依赖项,而不是数组。另外,您还可以通过类型提示配置参数来获得额外的好处。