我们可以在 config/constants.php 文件中触发数据库查询以使常量动态化吗? (Php 代码点火器)

Can we fire a database query in config/constants.php file to make constants dynamic? (Php Codeignitor)

我试着把它放在 config/config 的底部。php

require_once( BASEPATH .'database/DB.php');
$db =& DB();

$query = $db->get('constants');
$result = $query->result();

foreach( $result as $row)
{
    $config[$row->title] = $row->value;
}

但它抛出了这个错误: 遇到未捕获的异常

类型:错误 消息:Class 'CI_Controller' 未找到 文件名:E:\xampp74\htdocs\jrvs\system\core\CodeIgniter.php 行号:369

请给我一些解决方案。如果这不可能,那么我们还能做些什么来使常量动态化?

constants.php 是在 Codeigniter.php 中加载的第一个文件,因此您不能使用此文件中的 codeigniter 实例导致 if 尚未加载,当然你不能依赖挂钩,因为它在加载此文件并定义常量后加载!

您最好的选择是在此文件顶部或 index.php 中手动连接到您的数据库并查询您需要的内容,然后使用定义中的值。