私は管理者全体を制御するCodeIgniterでコントローラを作成しました。必要に応じて別のコントローラをロードします。URLに依存します。それは正しく動作しますが、Adminコントローラによってロードされたコントローラは、データベースに到達できません。CodeIgniterコントローラがデータベースを読み込めません
ここに必要なコントローラをロードするAdminコントローラのコードです。
public function renderAdmin(){
$get=$this->input->get();
if (!empty($get['module'])){
$module=$get['module'];
}
else{
$module="";
}
if (!empty($module)){
if (!empty($get['method'])){
$method=$get['method'];
}
else{
$method="index";
}
$module=modules::load($module."/".$module);
if (!method_exists($module, $method)){
$method="index";
}
$module->$method();
}
else{
$data['screen']=$this->config->item('foo_template_dir_admin')."index";
$data['menuPoints']=self::getMenuPoints();
$this->load->view($this->config->item('foo_template_dir_admin') . "frame", $data);
}
}
タグコントローラ、それはデータベースを読み込むことができません。
public function index(){
$data['menuPoints']=Admin::getMenuPoints();
$data['screen']=$this->config->item('mindenrekepes_template_dir_admin')."tags/index";
var_dump($this->db); // NULL
$this->load->view($this->config->item('mindenrekepes_template_dir_admin')."frame", $data);
}
データベースは自動ロードファイルに含まれているため、ロードされます。
Adminコントローラまたはそのモデルのいずれかで、データベースにアクセスできます。そのため、データベースの設定と自動ロードもメインコントローラに適しています。
問題があるとご存じですか?この場合、誰かが私を助けてくれることを願っています。
これは、自動ロードにあり、正常に動作しますが、唯一のメインコントローラは、$デシベル属性と他の人ではないがあります。 – kukko
私はこの問題を発見しました。なぜならHMVC拡張はMY_ControllerではなくMX_Controllerを拡張するからです。申し訳ありませんが、HMVCの使い方については言及していませんでした。しかし、それは本当に役に立ちましたので、私は@ g9m29の答えを受け入れます。 – kukko