关于自定义config配置通过自定义libraries访问的问题
本帖最后由 隐络 于 2016-6-15 23:10 编辑如题:
自定义的config配置文件,在控制器中通过$this->config->load()方法来导入,然后通过$this->config->item()方法来访问其中的配置。
那么如果我有一个自定义的libraries,其中涉及到了一些常量,我想从config中读取,有没有什么好的方式,或者应该采取什么手段?
試試這個呢 ?
$this->ci->load->config('test', TRUE); Closer 发表于 2016-6-14 09:57
試試這個呢 ?
$this->ci->load->config('test', TRUE);
好像也不可以,ci改成程序名称也不行。
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Someclass::$ci
Filename: libraries/Someclass.php
Line Number: 17 隐络 发表于 2016-6-15 16:49
好像也不可以,ci改成程序名称也不行。
A PHP Error was encountered
忘了說,請參閱這個網站 : Github - loading config file from library 本帖最后由 LaurenceForCI 于 2016-6-15 18:43 编辑
我觉得你可以在config中定义好常量,然后给某个config选项赋值
define('T', 'test');
$config['xxx'] = T;
不过为什么要定义常量呢?配置文件中定义的数组不就相当于常量吗?
参考我写的这个,我这个是写在libraries中的支付宝通知类:
这个是自定义支付宝通知类部分内容:
<?php defined('BASEPATH') OR exit('No direct script access allowed');/**
* CI_Alipayreturn
* @author Mike Lee
*/
class CI_Alipayreturn extends AlipayNotify {
protected $ci;
public function__construct($config = array()){
// 获得 CI 超级对象 使得自定义类可以使用Controller类的方法
$this->ci = & get_instance();
// 判断是否存在配置文件
if (empty($config)) {
// 加载 Alipay 配置文件
$this->ci->load->config('alipay', TRUE);
$config = $this->ci->config->item('alipay');
}
parent::__construct($config);
}
}
?>
这个是config文件中alipay.php配置项:
<?php defined('BASEPATH') OR exit('No direct script access allowed');
/**
* Alipay 配置文件
*/
$config['partner'] = '';
$config['seller_id'] = $config['partner'];
$config['key'] = '';
$config['notify_url'] = "http://商户网址/create_direct_pay_by_user-PHP-UTF-8/notify_url.php";
$config['return_url'] = "http://商户网址/create_direct_pay_by_user-PHP-UTF-8/return_url.php";
$config['sign_type'] = strtoupper('MD5');
$config['input_charset']= strtolower('utf-8');
$config['cacert'] = getcwd().'\\cacert.pem';
$config['transport'] = 'http';
$config['payment_type'] = "1";
$config['service'] = "create_direct_pay_by_user";
$config['anti_phishing_key'] = "";
$config['exter_invoke_ip'] = "";
?>
本帖最后由 隐络 于 2016-6-15 23:09 编辑
Closer 发表于 2016-6-15 17:01
忘了說,請參閱這個網站 : Github - loading config file from library
多谢!问题解决了。 本帖最后由 隐络 于 2016-6-15 23:10 编辑
LaurenceForCI 发表于 2016-6-15 18:17
我觉得你可以在config中定义好常量,然后给某个config选项赋值
define('T', 'test');
$config['xxx'] = T;
嗯 很详细 非常感谢!问题解决了。
页:
[1]