Php 另一个Codeigniter属性未定义的问题
我明白了,但我不明白为什么Php 另一个Codeigniter属性未定义的问题,php,codeigniter-2,Php,Codeigniter 2,我明白了,但我不明白为什么 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/co
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\u model\u fail。。。我得到了一个错误,如果我改变加载->模型('menu\U model\U break'),我也会得到一个错误。所以我知道它正在正确加载文件 看起来您正在使用MX模块化扩展-您应该将控制器更改为从MX_控制器扩展,而不是从CI_控制器扩展 看起来您正在使用MX模块化扩展-您应该将控制器更改为从MX_控制器扩展,而不是从CI_控制器扩展 看起来您正在使用MX模块化扩展-如果您将控制器更改为从MX_控制器扩展而不是从CI_控制器扩展,会发生什么情况?微妙的侧记-如果您不使用$layout,传递$layout有什么意义?我会的,还没有。我在模型上卡住了,没有加载。@darrrren如果你把它作为一个答案,我会接受的。就是这样。谢谢@Foobar,我添加了它作为答案。看起来您正在使用MX模块化扩展-如果您将控制器更改为从MX_控制器扩展而不是从CI_控制器扩展会发生什么情况?微妙的旁注-如果您不使用它,传递$layout有什么意义?我会的,现在还没有。我在模型上卡住了,没有加载。@darrrren如果你把它作为一个答案,我会接受的。就是这样。谢谢@Foobar,我已经添加了它作为答案。比如说,出于好奇,是什么指示这是使用MX模块扩展的?@KaiQing
/modules/
在错误路径输出中被引用。啊,捕捉得好。我做过很多CI项目,但使用模块的项目不多。我甚至没有看到。干杯:-)我几乎只使用带有模块化扩展的CI,这使得组织更大的应用程序变得更加容易。比如,出于好奇,是什么表明这是使用MX模块化扩展的?@KaiQing/modules/
在错误路径输出中被引用。啊,捕捉得好。我做过很多CI项目,但使用模块的项目不多。我甚至没有看到。干杯:-)我几乎只使用带有模块化扩展的CI,这使得组织更大的应用程序变得更加容易。