CodeIgniter模板中使用自定义配置

因为启用了CDN,所以需要有个地方配置静态文件的路径,以便在开发环境中,将静态路径指向本地。

这里有两个问题:1、如何启用自定义配置?2、如何在view中获取到配置?

一、启用并自动加载自定义配置

/application/config/目录下新建一个配置文件vars.php(名字可以随意):

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
/*
 * 自定义的配置
 */
$config['static_local_path'] = '/static/';

显然,需要将这个配置文件自动加载:修改文件/application/config/autoload.php

$autoload['config'] = array('vars');//这里的vars是上面的那个文件名

当然你也可以选择将配置信息直接放在原来的config.php里,那就不用看这步了。

二、自动在view中可用

方法很简单。自定义一个类库,并自动加载执行。其中操作配置信息,将其加入到view的可用变量中。

/application/libraries/下新建一个类文件Vars.php(名字可以随意),内容大概如下:

<?php if ( ! defined('BASEPATH')) exit('No direct script access allowed');
class Vars{
    public function __construct(){
        $CI = & get_instance();
        $data = array('static_local' => $CI->config->item('static_local_path');
        $CI->load->vars($data);
    }
}

这里使用$CI->config->item()读取配置,使用$CI->load->vars()加入到view变量中。

最后别忘了自动启动该类:修改文件/application/config/autoload.php

$autoload['libraries'] = array('vars');//这里的vars是上面的那个类的文件名


到此view中就可以直接使用$static_local这个配置了。