如何在设置模板内容后传递参数?

时间:2013-07-23 06:57:33

标签: kohana parameter-passing

我的问题是当我进入if条件时,我丢失了参数(即我不能使用id变量),因为这是在我按下视图中的submit按钮后发生的(即在我设置post数组后)

public function action_resetpassword()
{
    $this->template->content = View::factory('user/password/reset')
    ->bind('message', $message)
    ->bind('errors', $errors);

    if (HTTP_Request::POST == $this->request->method()) 
    {           
        $id = $this->request->param('id');

1 个答案:

答案 0 :(得分:1)

如果我理解正确,您希望将参数传递给if中设置的视图。这可以通过将这些变量“绑定”到视图(即通过引用传递)来轻松完成

public function action_resetpassword()
{
    $this->template->content = View::factory('user/password/reset')
        ->bind('message', $message)
        ->bind('errors', $errors)
        ->bind('id', $id); // Empty variable is defined here ...

    if (HTTP_Request::POST == $this->request->method()) 
    {
        // ... and set here
        $id = $this->request->param('id');

在视图中,$id现在将具有来自Request参数的任何值。

如果这不是你的意思,你应该读一下PHP中的变量范围,这个问题不一定与Kohana有关

http://php.net/manual/en/language.variables.scope.php