【问题标题】:Using define or static var? [closed]使用定义或静态变量? [关闭]
【发布时间】:2014-07-17 12:49:45
【问题描述】:

我目前正在更新我的个人 PHP 框架,我有一个问题:以 oop 样式存储配置变量的最佳方式是什么?

事实上,我目前正在使用这样的定义变量,因为我总是读到定义变量和配置变量一样好:

define('LOG_FILE', 'app/log/log.txt');

但是以 oop 的方式,使用带有静态变量的静态类不是更好吗?

MyFramework::LOG_FILE = 'app/log/log.txt'

【问题讨论】:

    标签: php oop static constants


    【解决方案1】:

    在框架中保存配置的常用方法是保存在注册表中 (Registry Design Pattern explained in PHP)

    因此,您可以创建 config.yaml 或 config.json 或任何其他您觉得方便使用的格式。然后框架的核心将解析它并存储在注册表中。 原则上的注册表是静态的,因此可以在您的框架周围“全球”使用。 注册表也是一种内部缓存方式,不会一次又一次地读取、解析、存储对象。

    在任何步骤,您都可以通过这种方式获得配置:

    $config = Registry::get('config');
    

    【讨论】:

    • 学习永远不晚,伙计。希望能帮助到你。 ;-)
    猜你喜欢
    • 2017-06-29
    • 2013-11-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-10-08
    • 2016-03-30
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多