使用 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 开发人员都大有裨益。

了解一切由您决定什么最适合您和项目。