我应该在哪里放置加载模型的功能并显示视图,但无法从URL访问。我的意思是,我需要编写一个应该从视图调用的函数,这个函数显示一个菜单列表。
function displayMenu () {
$menu = $this->model->getMenuResults();
$this->load->view( 'ViewResults', $menu);
}
我应该在主控制器中将其写为私有函数吗?
答案 0 :(得分:0)
您可以在codeigniter控制器中使用私有函数
private function _displayMenu()
{
$menu = $this->model->getMenuResults();
$this->load->view( 'ViewResults', $menu);
}
直接从文档
私人功能
在某些情况下,您可能希望某些功能对公共访问隐藏。要将函数设为私有,只需添加下划线作为名称前缀,它将不会通过URL请求提供。例如,如果你有这样的函数:
private function _utility()
{
// some code
}
尝试通过URL访问它,就像这样,不起作用:
example.com/index.php/blog/_utility/
有关详情,请转至http://ellislab.com/codeigniter/user-guide/general/controllers.html#private
答案 1 :(得分:0)
将它放在你的一个辅助函数中,如
function displayMenu () {
$CI = &get_instance();
//choose whichever is appropriate
//option 1
//if your model is globally loaded then simply call the model like this
//$menu = $CI->loadedmodel->getMenuResults();
// option 2 otherwise load the model here
//$CI->load->model('model_name');
//$menu = $CI->model_name->getMenuResults();
$CI->load->view( 'ViewResults', $menu);
}