使用 CakePHP Configure class 比将配置存储为全局常量有什么好处吗?
Is there any benefit to using CakePHP Configure class over storing configurations as global constants?
例如,我有一个单独的配置文件,我正在通过 -
加载到我的 core.php 文件中
require 'config_file.php';
目前在这个文件中我有类似 -
define('DOWN', false);
define('SUPPORT_EMAIL', 'shepard@normandy.com');
等等...使用配置 class 来存储这些有什么好处吗?
Configure::write('App.down', false);
Configure::write('App.support_email', 'shepard@normandy.com');
提前致谢。
常量会污染全局 space,而 Configure
class 在全局 space.
中有自己的 space
此外 Configure
class 可以存储任何类型的数据,而常量只能保存标量值(从 PHP7 开始支持数组)。
此外 Configure
class
- 可以在运行时更改值
- 可以合并数组结构
- 允许简单的点符号访问
- 静静地失败(returns
null
对于不存在的 variables/paths,其中常量触发通知并且 return 请求的常量名称作为字符串)
- 如果请求
可能会严重失败(触发异常)
- 等..
此外,通过使用框架技术,您对将要处理您的项目的每个 CakePHP 开发人员都大有裨益。
了解一切由您决定什么最适合您和项目。
例如,我有一个单独的配置文件,我正在通过 -
加载到我的 core.php 文件中require 'config_file.php';
目前在这个文件中我有类似 -
define('DOWN', false);
define('SUPPORT_EMAIL', 'shepard@normandy.com');
等等...使用配置 class 来存储这些有什么好处吗?
Configure::write('App.down', false);
Configure::write('App.support_email', 'shepard@normandy.com');
提前致谢。
常量会污染全局 space,而 Configure
class 在全局 space.
此外 Configure
class 可以存储任何类型的数据,而常量只能保存标量值(从 PHP7 开始支持数组)。
此外 Configure
class
- 可以在运行时更改值
- 可以合并数组结构
- 允许简单的点符号访问
- 静静地失败(returns
null
对于不存在的 variables/paths,其中常量触发通知并且 return 请求的常量名称作为字符串) - 如果请求 可能会严重失败(触发异常)
- 等..
此外,通过使用框架技术,您对将要处理您的项目的每个 CakePHP 开发人员都大有裨益。
了解一切由您决定什么最适合您和项目。