私は、これはCI 3.1用カスタムライブラリの一部であり、コードの一部ですがあります
class NavigationMenu
{
protected $CI;
public function __construct($params = ['config' => 'navigation'])
{
// this is where I read $params as an array of 10 values
// and it shouldn't be since $params has only one key = config
var_dump($params);
$this->CI =& get_instance();
$this->CI->load->helper('url');
$this->CI->config->load($params['config'], true);
$this->CI->load->model('nav_model', 'nav');
}
....
}
次のコード持ってnavigation.php`ファイル」:
$config['navigation_open'] = '<ul class="nav">';
$config['navigation_close'] = '</ul>';
$config['item_open'] = '<li>';
$config['item_open_active_class'] = 'active';
私は予告を持っているが$params
はコンストラクタに渡されます。
array (size=10)
'navigation_open' => string '<ul class="nav">' (length=16)
'navigation_close' => string '</ul>' (length=5)
'item_open' => string '<li>' (length=4)
'item_open_active_class' => string 'active' (length=6)
なぜ読まないのですか?
array (size=1)
'config' => string 'navigation' (length=10)
EDITとして、私は、単純な私は、ライブラリを自動ロードしています代わりに作成されているオブジェクトではないという意味ライブラリを、使用していない
:
config/autoload.php
$autoload['config'] = ['navigation'];
これまで、クラスのコンストラクタの原因となります私がアプリケーションのindex.phpファイルにヒットしたときにいつでも呼び出すことができます。
これはCIのデフォルト動作ですか? PHPコンストラクタから、私はそれを認識していませんか?私のコードで何か間違っていると私はそれを見ていない?
[manual](https://www.codeigniter.com/userguide3/libraries/config.html#manual-loading)をお読みください! – csabinho
@ csabinho本当ですか?正確にはどこで?私はすでにそれを読んだので、この問題に関して役に立たないものは見つけられません。 – ReynierPM
'$ this-> config-> load( 'filename'); filenameは設定ファイルの名前で、拡張子は.phpではありません。 ' – csabinho