Kohana - 将变量传递给视图

Tar*_*rek 2 kohana kohana-3.2

我无法将一个简单的变量传递给视图,有人能告诉我我做错了什么吗?

我有一个控制器用户:

class Controller_User extends Controller_Template_Login {  

     public function action_index()
    {
        $this->template = 'user/info';
        parent::before(); 
        $user = Auth::instance()->get_user();         
        $this->template->content = View::factory('user/info')
            ->bind('user', $user)
            ->bind('message', $message)
            ->bind('errors', $errors);        

        // if a user is not logged in, redirect to login page
        if (!$user)
        {
            Request::current()->redirect('user/login');
        }
    }

}
Run Code Online (Sandbox Code Playgroud)

在我的视图(用户/信息)中,我得到的用户未定义.

我错过了什么?

编辑:请注意,这可以通过添加:

$user = Auth::instance()->get_user(); 
Run Code Online (Sandbox Code Playgroud)

到Controller_Template_Login

        $user = Auth::instance()->get_user();
        $this->template->user = $user;
Run Code Online (Sandbox Code Playgroud)

我想知道的是为什么这不起作用:

    $user = Auth::instance()->get_user();         

    $this->template->content = View::factory('user/info')
    ->bind('user', $user)
    ->bind('message', $message)
    ->bind('errors', $errors); 
Run Code Online (Sandbox Code Playgroud)

zer*_*kms 5

因为在第一种情况下

$this->template->user = $user;
Run Code Online (Sandbox Code Playgroud)

您将$user变量赋值给user属性$this->template.

在第二种情况下:

$this->template->content = View::factory('user/info')
    ->bind('user', $user)
    ->bind('message', $message)
    ->bind('errors', $errors); 
Run Code Online (Sandbox Code Playgroud)

您将$user变量绑定到的user属性$this->template->content.