fly*_*sun 5 database config codeigniter
我可能正在咆哮完全错误的树,所以请原谅我,如果这根本不是我应该做的事情.
我在我的数据库中有一个配置表,用于保存我网站的配置详细信息.我想将这些数据加载到config.php文件中以获取代码点火器?
这是我应该做的还是完全错的?
如果我在config.php文件的顶部放置一个数据库调用,那么每次有人加载网站或第一次调用时都会调用它吗?
对不起,如果这听起来很愚蠢,我有点困惑.
编辑
我不是指数据库详细信息,例如想要存储类似每页显示的帖子数量.我正在创建的脚本将在多个服务器上使用,例如,每页的帖子数量需要是可编辑的.我可以把它加载到会话中,但我想把它加载为常量*?在配置文件中将是一个更好的主意.
Oyt*_*tun 10
我是这样做的:
首先,我们的模型:
<?php if (!defined('BASEPATH')) exit('No direct script access allowed');
Run Code Online (Sandbox Code Playgroud)
.
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;
}
}
Run Code Online (Sandbox Code Playgroud)
$config["useDatabaseConfig"] = true;
在您的数据库中,您需要一个带有"key"和"value"列的"设置"表.
就这样.使用此模型,您可以随时设置数据库,并随时使用config/*.php文件.
比如,您可以$config["useDatabaseConfig"]
在调用此模型方法之前更改变量(然后,应禁用自动加载.)
我确实获得了CI实例的变量,只是因为它更容易和更好.
像这样读取配置数据:$this->pref->sess_cookie_name
您可以创建一个新模型,从数据库中提取配置选项,然后自动加载此模型,以便全局可用.然后,您可以通过$this->model_name->function_name($db_column);
并访问您$db_column
正在查找的选项的列的名称,并让您的模型函数选择并返回列数据.
就个人而言,我使用自定义配置文件:http:
//codeigniter.com/user_guide/libraries/config.html
归档时间: |
|
查看次数: |
5803 次 |
最近记录: |