为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;
posted on 2012-11-20 23:38  浩瀚孤鸿  阅读(485)  评论(0编辑  收藏  举报