【问题标题】:fuelPHP read config from dbFuelPHP 从数据库读取配置
【发布时间】:2013-02-07 01:49:35
【问题描述】:

我在数据库中有一个带有站点全局设置的表。我想在fuelPHP启动时加载这些参数并在所有控制器中使用它。表列是 id|setting_name|setting_value。我使用了codeigniter,它被编码为助手。我调用了函数 site_settings('parameter') 并得到了结果。如何在燃料中做到这一点?

【问题讨论】:

  • 多么愚蠢的问题:D(对不起)

标签: php database fuelphp


【解决方案1】:

您需要构建一个类以使其与 Fuel 一起使用。

创建模型可能是有意义的,因为它内置于数据库的挂钩中。 查看 Model_Crud 或 ORM。

http://fuelphp.com/docs/classes/model_crud/introduction.html http://fuelphp.com/docs/packages/orm/intro.html

如果需要,您可以访问您的数据库并更新和创建设置。

然后您需要将其添加到配置文件以使其自动加载。

http://fuelphp.com/docs/general/configuration.html

您还可以扩展核心 Config 类: http://fuelphp.com/docs/classes/config.html http://fuelphp.com/docs/general/extending_core.html

这将使您能够访问包括基本 getter 和 setter 在内的 cor 配置方法。

【讨论】:

    【解决方案2】:

    您可以创建一个新的控制器,例如 GlobalController 并将其他控制器扩展到全局控制器。

    然后在 GLobalController 中创建一个before() 函数。换句话说,这个函数将在其他函数之前执行

    public function before() {
        parent::before();
        $this->globalstring = "MyGlobalString"; 
    }
    

    现在,每个扩展了GlobalController 的控制器都可以检测到$this->globalstring 字符串或您在该函数中放入的任何其他内容。

    【讨论】:

      【解决方案3】:

      最好和最透明的解决方案是扩展 Config 类以添加 DB 作为支持的后端。

      http://fuelphp.com/forums/discussion/3104/dbconfig-store-your-app-specific-config-setting-in-a-db-rather-than-loads-of-config-files,虽然老了,但可能会给你一些指导。

      您不应该为此使用 ORM,因为这需要很多依赖项。请改用常规数据库调用。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2018-04-06
        • 1970-01-01
        • 2012-10-01
        • 2021-09-30
        • 1970-01-01
        • 2021-09-15
        • 1970-01-01
        相关资源
        最近更新 更多