Kohana - передача переменных в представление

Я не могу передать простую переменную в представление, кто-то может сказать мне, что я делаю неправильно?

У меня есть пользователь контроллера:

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');
        }
    }

}

В моем представлении (пользователь / информация) я понимаю, что пользователь не определен.

чего мне не хватает?

Изменить: Обратите внимание, что это можно исправить, добавив:

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

в Controller_Template_Login

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

Я хочу знать, почему это не работает:

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

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

1 ответ

Решение

Потому что в первом случае

$this->template->user = $user;

Вы назначаете $user переменная к user собственностью $this->template,

И во втором случае:

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

ты связываешь $user переменная к user собственностью $this->template->content,

Другие вопросы по тегам