Laravel по-русски

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

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

#1 29.03.2018 20:40:38

Рендер view в "дочернем" методе контроллера

В общем, такая вот проблема. Есть у меня код в контроллере:

public function test(){
    return view('test');
}

public function index(){
    $this->test();
}

Когда я открываю страницу, роут смотрит на метод index и выполняет его. index выполняет test. А test должен отрендерить вьюху и остановить исполнение остальной программы на этом.

Но, разумеется, test возвращает управление в метод index. Поэтому рендера не происходит. Что сделать, чтобы рендер таки произошел?

Мне нужна именно такая история. Я не могу сделать return $this->test() из index(), это убьет всю мою идею. Это что-то вроде проверок на ошибки, и если ошибка, то отрендерить одно, а если не ошибка - продолжить выполнение того, что в index(). И я навешиваю этот самодельный валидатор в разные методы.

Изменено aanon (29.03.2018 20:41:48)

Не в сети

#2 30.03.2018 18:22:45

Re: Рендер view в "дочернем" методе контроллера

Решение, во всяком случае, одно из решений: кинуть специфический эксепшн:

throw new HttpResponseException(
    Response::view('errors.inactive_user')
);

Не в сети

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