2017-06-28 14 views
1

ライブラリクラス内にカスタム設定ファイルを読み込もうとしています。私はconfig値がnullを返す問題にぶつかっています。CodeIgniter、ライブラリクラスのカスタム設定を読み込むのに問題があります

設定ファイル: 'couriers.php'

$config['ups'] = 'some keys'; 

ライブラリファイル: '/library/Track/Ups.php'

class Ups { 

    public $ci; 

    public function __contruct() { 

     $this->ci =& get_instance(); 
     $this->ci->config->load('couriers'); 
    } 

    public function GetUPSKey() { 

     return config_item('ups'); 

    } 
} 

私はNULL応答を取得しています。

何か助けていただければ幸いです。

答えて

0

コードをテストした後。 constructorの間違いを単に間違えている問題が1つしか見つかりませんでした。あなたはそれを忘れてしまった。したがって、コンストラクタは決して呼び出されません。変更して確認してください。他のものは大丈夫です

public function __construct() { 

     $this->ci =& get_instance(); 
     $this->ci->config->load('couriers'); 
    } 
0

/*クラス*/

class Ups { 

    protected $ci; 
    protected $config; 

    public function __construct() { 

     $this->ci =& get_instance(); 

     // Loads a config file named couriers.php and assigns it to an index named "couriers" 
     $this->ci->config->load('couriers', TRUE); 

     // Retrieve a config item named ups contained within the couriers array 
     $this->config = $this->ci->config->item('ups', 'couriers'); 
    } 

    public function GetUPSKey() { 

     return $this->config['key']; 

    } 
} 

/*コンフィグ(couriers.php)*/

$config['ups'] = array(
    'key' => 'thisismykey', 
    'setting2' => 'etc' 
); 

// Additional Couriers etc 
$config['dhl'] = array(
    'key' => 'thisismykey', 
    'setting2' => 'etc' 
); 
0

あなたが設定をロードし、オブジェクトを指すように、戻りながら、それを使用する必要があります。

class Ups { 

    public $ci; 

    public function __contruct() { 

     $this->ci =& get_instance(); 
     $this->couriers_config = $this->ci->config->load('couriers'); 
    } 

    public function GetUPSKey() { 

     return $this->couriers_config['ups']; 

    } 
} 
関連する問題