为Codeigniter增加全局变量
很多时候,网站有一些在每个页面都需要使用的数据,比如网站名称,SEO方面的关键词等。下面的教程可以通过很简单的方式实现这种功能。
原理:让CI自动载入一个类库,在这个类库的构造函数里取变量的值,并通过load->vars()加载。
首先定义一个自己的类库
<?php class vars { var $CI; function vars(){ $this->CI = & get_instance(); //变量可以在这里定义,或者来自配置文件,也可以去数据库中查 $variable = array('abc'=>'asdfasdf'); $this->CI->load->vars($variable); } }
修改config/autoload.php,自动加载上面的类。
$autoload['libraries'] = array('database','session','vars');
使用方法:
控制器
<?php class Test extends Controller { function __construct() { parent::Controller(); } function index() { $this->load->view('test_view'); } }
视图,test_view.php
<?php echo $abc;