Laravel по-русски

Русское сообщество разработки на PHP-фреймворке Laravel.

Ты не вошёл. Вход тут.

#1 11.12.2012 18:36:02

__construct vs nest

Поставил __construct

PHP
public function __construct()
{
    
$this->filter('before''auth')->only(array('profile'));
}

и тут понеслась: Call to a member function nest() on a non-object, без __construct работает все норма, что может быть?

Изменено Dem (11.12.2012 18:47:18)

Не в сети

#2 11.12.2012 18:49:12

Re: __construct vs nest

Посмотри, где у тебя задаётся фильтр. Если это контроллер, как в твоём посте ранее, то при срабатывании (нет авторизации) он делает PHP$this->layout->nest(), но $layout инициализируется только при обработке запроса, поэтому если у тебя функция, поставленная на фильтр, вызывается просто так, то естественно $this->layout будет пустым.

В любом случае я бы тебе посоветовал посмотреть в свой код перед созданием темы на форуме — ты привёл только его малый кусок.

Не в сети

#3 11.12.2012 18:53:21

Re: __construct vs nest

Спасибо, решил:

PHP
public function __construct()
{
   if (!
is_null($this->layout)) { $this->layout $this->layout(); }

   
$this->filter('before''auth')->only(array('test'));
}

Функцию надо было засунуть в $this->layout

Не в сети

#4 24.12.2012 19:12:34

Re: __construct vs nest

%Поставил __construct

PHP
public function __construct()
{
    
$this->filter('before''auth')->only(array('profile'));
}

и тут понеслась: Call to a member function nest() on a non-object, без __construct работает все норма, что может быть?

Чтобы такого не было нужно сначала вызвать конструктор родительского класса. Тогда свойство layout проинициализируется. И все должно заработать

Не в сети

Подвал раздела