fuelPHP从db读取配置

时间:2013-02-07 01:49:35

标签: php database fuelphp

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

3 个答案:

答案 0 :(得分:0)

您需要构建一个类才能使它与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配置方法。

答案 1 :(得分:0)

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

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

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

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

答案 2 :(得分:0)

最好和最透明的解决方案是扩展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,因为这需要许多依赖项。改为使用常规数据库调用。