配置数据存储在数据库中

| 我可能完全被错误的树缠住了,所以如果这根本不是我应该做的事情,请原谅我。 我的数据库中有一个配置表,用于保存网站的配置详细信息。我想将此数据加载到config.php文件中以进行代码点火器? 这是我应该做的事情还是完全错误的事情? 如果我在config.php文件的顶部放置一个数据库调用,那么每次有人加载站点或只是第一次加载该站点时,都会调用此函数吗? 抱歉,这听起来很愚蠢,我有点困惑。 编辑 我的意思不是数据库详细信息,例如,要存储每页显示的帖子数量之类的内容。我正在创建的脚本要在多台服务器上使用,例如,每页的帖子数量需要可编辑。我可以将其加载到会话中,但是我认为将其加载为常量*?在配置文件中将是一个更好的主意。     
已邀请:
您可以创建一个新模型,该模型从数据库中提取配置选项,然后自动加载该模型,以使其在全球范围内可用。然后,可以通过
$this->model_name->function_name($db_column);
访问选项,并以
$db_column
作为要查找的选项的列名称,并让模型函数选择并返回列数据。 我个人使用自定义配置文件: http://codeigniter.com/user_guide/libraries/config.html     
这是我的操作方法: 首先,我们的模型:
<?php if (!defined(\'BASEPATH\')) exit(\'No direct script access allowed\');
class Prefs extends CI_Model
{
    function __construct()
    {
        parent::__construct();      
        $pre = array();
        $CI = &get_instance();

        if ($this->config->item(\"useDatabaseConfig\")) {
            $pr = $this->db->get(\"settings\")->result();     
            foreach($pr as $p)
            {
                $pre[addslashes($p->key)] = addslashes($p->value);
            }       
        }
        else
        {
            $pre = (object) $CI->config->config;
        }   
        $CI->pref = (object) $pre;      
    } 
}
自动加载此模型。 在您的config / config.php中,添加以下行(或另一行,如果使用的话):
$config[\"useDatabaseConfig\"] = true;
在您的数据库中,您需要一个带有“键”和“值”列的“设置”表。 就这样。使用此模型,您可以设置要使用数据库的时间以及使用config / *。php文件的时间。 假设您可以在调用此模型方法之前更改
$config[\"useDatabaseConfig\"]
变量(然后应禁用自动加载功能。) 我确实获得了CI实例的变量,只是因为它更简单,更漂亮。 像这样读取配置数据:
$this->pref->sess_cookie_name
    
这是您不应该做的事情。每次完成请求时都会完成数据库调用,并且您无法将数据库凭据存储在数据库本身中。     

要回复问题请先登录注册