我是新手codeigniter程序员。
我想将函数和此函数中的所有变量用于同一类控制器中的另一个函数。这是我的代码
function page()
{
$page_id = $this->uri->segment(3);
$page_details = $this->m_module->submenu($page_id)->row_array();
$data['title']= $page_details['sub_title'];
$data['menu'] = $page_details['title'];
$data['submenu'] = $page_details['sub_title'];
$data['link'] = $page_details['sub_target'];
$data['page_id'] = $page_id;
}
function employee()
{
$data['employee']= $this->m_module->employee()->result_array();
$this->page();
$this->template->display($data['link'],$data);
}
问题是变量函数page()无法调用函数employee()。
这是我的浏览器
A PHP Error was encountered
Severity: Notice
Message: Undefined index: link
Filename: controllers/Module.php
Line Number: 39
请帮忙。
谢谢
答案 0 :(得分:2)
更新您的方法,如下所示
private function page() {
$page_id = $this->uri->segment(3);
$page_details = $this->m_module->submenu($page_id)->row_array();
return [
'title' => $page_details['sub_title'];
'menu' => $page_details['title'];
'submenu' => $page_details['sub_title'];
'link'=> $page_details['sub_target'];
'page_id' => $page_id;
];
}
private function employee() {
$data = $this->page();
$data['employee']= $this->m_module->employee()->result_array();
$this->template->display($data['link'],$data);
}
你没有得到的原因是因为你的方法没有作为值返回。
答案 1 :(得分:0)
您可以设置一个类变量来传递函数之间的链接值
<?php
class MyController extends CI_Controller {
private $link;
public function page($data){
$this->link = $data['link'];
}
public function page(){
echo $this->link;
}
}
?>