。自定义配置文件路径加载获取参数
手册上面说装载器类装载,顾名思义,是用来装载元素。这些元素可以是库 (类) 视图文件, 辅助函数, 模型, 或者是你自己的文件
配置文件怎么不行呢??
我的目录结构是这样的
application
我现在是想调用share/config/config.php里面的参数,config.php是这样的
<?php
$config['web_config'] = "http://www.57sy.com";
我新建一个控制器
<?php
class Test extends CI_Controller{
function index(){
$this->load->add_package_path(FCPATH."/share/");
echo config_item("web_config");
}
}
我纳闷了 为什么没有输出结果呢?
library models 都可以进行自定义路径的哦!!
燃雲 发表于 2015-3-14 18:25
加了路径,却不去加载文件,如何会读入相关参数,试加一句
已经测试成功了 , 代码如下:
<?php
class Test extends CI_Controller{
function index(){
$this->load->add_package_path(FCPATH."share/");
$this->config->load();
echo $this->config->item('web_config');
}
}
//1;必须设置读取的路径
//2:加载文件
//3:然后用CI的读取配置文件方法进行读取即可
是不是在控制器装入那里:FCPATH.'/share/config/'啊,我也不大懂 dllhb 发表于 2015-3-14 16:29
是不是在控制器装入那里:FCPATH.'/share/config/'啊,我也不大懂
这个我也已经测试过的 还是不行的 加了路径,却不去加载文件,如何会读入相关参数,试加一句
$this->config->load();
或
$this->config->load("config");
在当中又如何?
我曾经也想过!但是也没结果! luofuchuan 发表于 2015-3-15 10:43
我曾经也想过!但是也没结果!
肯定?
我是测试过才说的,完全能读入参数,没问题!
假如显示不了,应是其它问题。
是什么版本CI?什么环境?目录,文件设定是否不让读?
顺带一提,按CI规定,目录必须以"/"结束,FCPATH."/share/"不对,应是FCPATH."share/"。在Linux下,FCPATH."/share/"虽奇怪,但仍能正确处理,其它环境则不得而知。
配置文件是需要 load 的,参考 http://codeigniter.org.cn/user_guide/libraries/config.html Hex 发表于 2015-3-16 10:36
配置文件是需要 load 的,参考 http://codeigniter.org.cn/user_guide/libraries/config.html
老大好像前提必须是设置配置文件所读取的目录吧
$this->load->add_package_path(FCPATH."share/");
然后在读取就好了
1. 在shared/config/constant.php定义:
define("XX_SHARED_PATH", BASEPATH . "../shared/");
define("XX_EXTENSION_PATH", BASEPATH . "../extensions/");
define("__ROOT__", str_replace("\\", "/", FCPATH)); //定义项目的根路径
2. 在项目的config/autoload.php:
$autoload['packages'] = array(XX_SHARED_PATH);
3. 在项目的config/config.php最底:
if(file_exists(__ROOT__ . '/config/config.inc.php'))
{
//包含网站的配置文件
include __ROOT__ . '/config/config.inc.php';
}
这样不用每个文件每个函数写重复代码。
纯属个人。。。
页:
[1]
2