将Codeigniter视图中的变量传递给函数

时间:2018-03-02 01:44:51

标签: php codeigniter

我有一个控制器可以设置几个这样的变量......

$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传递给函数并从中解析数据,而不是在函数调用中使用一串参数。这可行吗?

2 个答案:

答案 0 :(得分:1)

在您的控制器中

$data['mycustomdata']["pageTitle"] = "My Profile";
$data['mycustomdata']["userData"] = $this->user_model->getUserData($user_id);
$data['mycustomdata']["userTool"] = $this->api->getUserTool($user_id);

在你看来

showUserData($mycustomdata);

答案 1 :(得分:0)

我想知道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);
相关问题