在所有页面上都可以访问数据库中的CodeIgniter设置


CodeIgniter settings from database to be accessible on all pages

我的数据库中有一个名为settings的表,具有以下结构{id, name, value}。我想在所有页面上都有一个变量,比如$setting[name] => value....我试着把它放在帮助器上并自动加载它,但帮助器无法访问数据库。还有其他想法吗?由于

http://ellislab.com/codeigniter/user-guide/general/creating_libraries.html

创建一个名为MY_Controller的类,它扩展了CI_Controller并将其保存在application下的core文件夹中。然后让你所有的其他类扩展MY_Controller而不是CI_Controller。

然后你可以在MY_Controller 的构造函数中设置你的值
<?PHP
class MY_Controller extends CI_Controller
{
    function __construct()
    {
        parent::__construct();
        $settings = $this->db->get('settings');
    }

这将使$settings对所有控制器可用,就像你想要的那样。只要记住你需要这些设置的控制器必须扩展MY_Controller!

class A_new_controller extends MY_Controller {