私はこれを取得していますが、理由がわかりません.:
A PHP Error was encountered
Severity: Notice
Message: Undefined property: Menu::$menu_model
Filename: controllers/menu.php
Line Number: 16
Fatal error: Call to a member function get_menu() on a non-object in /home/.../modules/menu/controllers/menu.php on line 16
私はこれ、あれ、その他を見てきました。しかし、私の単純なコードでも、それでも壊れます。
コントローラー
class Menu extends CI_Controller
{
/**
* Constructor method
*/
public function __construct()
{
parent::__construct();
}
function index($layout = -1)
{
$this->load->model('menu_model');
// There is no $this->menu_model at this point. If I echo it out, it says property undefined as well.
$data['menu'] = $this->menu_model->get_menu($layout); // It fails on this line.
$data['thisurl'] = $this->uri->uri_string();
$this->load->view('menu.php');
}
}
モデル
class Menu_model extends CI_Model
{
public function get_menu($layout = -1)
{
$menu = array(
0 => array('href' => '/', 'label' => 'Home', FALSE),
1 => array('href' => '/about', 'label' => 'About', FALSE),
2 => array('href' => '/help', 'label' => 'Help', FALSE)
);
return $menu;
}
}
ファイルが正常にロードされました。クラス名を Menu_model_fail... に変更するとエラーが発生し、load->model('menu_model_break') を変更するとエラーも発生します。だから私はそれがファイルを正しくロードしていることを知っています。