Php 定义配置设置的正确方法
我使用全局数组为我的应用程序定义某些配置。但到目前为止,我已经读到了全球化是不好的做法,应该避免。这个全局变量是只读的,所以我不会在代码中以任何方式修改它 定义配置设置的正确方法是什么Php 定义配置设置的正确方法,php,arrays,oop,configuration,Php,Arrays,Oop,Configuration,我使用全局数组为我的应用程序定义某些配置。但到目前为止,我已经读到了全球化是不好的做法,应该避免。这个全局变量是只读的,所以我不会在代码中以任何方式修改它 定义配置设置的正确方法是什么 $GLOBALS['config'] = array( 'mysql' => array( 'host' => 'localhost', 'username' => 'user', 'password' => 'passwor
$GLOBALS['config'] = array(
'mysql' => array(
'host' => 'localhost',
'username' => 'user',
'password' => 'password',
'database' => 'database'
),
'navigation' => array(
'Home' => array('/', '/index.php'),
'Sign up' => array('/signup', '/signup.php'),
'Log in' => array('/login', '/login.php')
)
);
我对PHP不太了解。但是对于OOP,您可以创建一个包含静态只读变量的类(可能名为Config)。然后按如下方式使用它们
Config.mysql
和Config.navigation
从一个配置类开始,在一组键->值对以及getter和setter方法中保存所有设置。此类是普通应用程序代码的一部分
要能够为每个环境处理不同的设置,如示例中的连接参数,请使用多个文件
对于每个环境,都存在一个文件夹来存储所有特定于环境的配置文件
此处存储的其中一个文件是一个脚本:
- 创建静态配置对象
- 将所有配置参数设置为该环境的值
- config
- development
- config.php
- staging
- config.php
- production
- config.php
在部署期间,将包括要部署到的环境的配置文件。我要做的就是将部署脚本放在这些文件夹中
此设置支持多个环境,您可以将带有配置设置的文件置于版本控制之下