使用 CakePHP 配置类比将配置存储为全局常量有什么好处吗?


Is there any benefit to using CakePHP Configure class over storing configurations as global constants?

例如,我有一个单独的配置文件,我正在通过以下方式加载到我的核心.php文件中 -

require 'config_file.php';

在这个文件中,我目前有这样的东西 -

define('DOWN', false);
define('SUPPORT_EMAIL', 'shepard@normandy.com');

等。。。 改用配置类来存储这些有什么好处吗?

Configure::write('App.down', false);
Configure::write('App.support_email', 'shepard@normandy.com');

提前谢谢你。

量污染全局空间,而Configure类在全局空间内有自己的空间。

此外,Configure类可以存储任何类型的数据,而常量只能保存标量值(从 PHP7 开始支持数组)。

此外,Configure

  • 可以在运行时更改值
  • 可以合并数组结构
  • 允许轻松访问点符号
  • 静默失败(对于不存在的变量/路径返回null,其中常量触发通知并以字符串形式返回请求的常量名称)
  • 如果请求,可能会硬失败(触发异常)
  • 等。。

此外,通过使用框架技术,你正在做每个将要处理你的项目的CakePHP开发人员一个很大的帮助。

知道一切由您决定什么最适合您和项目。