我有一个控制器,设置这样的几个变量......
$data["pageTitle"] = "My Profile";
$data["userData"] = $this->user_model->getUserData($user_id);
$data["userTool"] = $this->api->getUserTool($user_id);
在视图中,我知道我可以将每个作为单独的变量访问...
$pageTitle
$userData
$userTool
每个变量中的数据都传递给视图中的函数进行处理。
showUserData($pageTitle, $userData, $userTool);
我想要做的是将$ this传递给函数并从中解析数据,而不是在函数调用中有一串参数。这可行吗?
在你的控制器中
$data['mycustomdata']["pageTitle"] = "My Profile";
$data['mycustomdata']["userData"] = $this->user_model->getUserData($user_id);
$data['mycustomdata']["userTool"] = $this->api->getUserTool($user_id);
在你看来
showUserData($mycustomdata);
我想知道showUserData在视图中需要做什么(同意@S.Imp的评论)。
作为一项挑战,我们可以像这样实现您的要求,
控制器,
$this->pageTitle = "My Profile";
$this->userdata = array('test inpunt','test input2');
$this->userTool = array('test user tool','test user tool2');
$this->load->view('test_view');
视图,
function showUserData($obj) {
echo "<br />".$obj->pageTitle;
echo "<pre>";print_r($obj->userdata); echo "</pre>";
echo "<pre>";print_r($obj->userTool); echo "</pre>";
}
showUserData($this);