2014-11-14 8 views
1

Есть ли способ, чтобы кто-то имел фильтр после View :: make? То, что я пытаюсь сделать, - запустить содержимое из View :: make, которое возвращается, с помощью HTML-маркера.Laravel View :: make after filter?

У меня уже есть приложение: после этого вызывается окончательный html-документ. Но см., Im, чтобы поставить запрос View :: make в объект json (для запросов ajax), и мне нужно, чтобы ответ был уменьшен.

ответ

1

После того, как фильтры, как правило, работают после того, как ответ был отправлен пользователю.

Так, чтобы минимизировать HTML-код, который пользователь увидит, необходимо обработать до его отправки.

Но до того, как фильтры здесь не будут работать. Поскольку они вызываются до обработки метода контроллера.

Таким образом, ваш процесс будет использоваться в вашем контроллере. Возможным решением может быть использование вспомогательной функции с вашим кодом минимизации или как функция внутри вашего BaseController, которая доступна для всех ваших контроллеров, которые вызывали вспомогательная функция.

Вы можете сделать следующее в своем контроллере;

$view = View::make('view.path', $data)->render() 

Это визуализирует и обрабатывает представление в HTML, который пользователь увидит.

Затем вы можете передать это функции, которую вы должны минимизировать HTML и вставить в ответ JSON.

+0

Но вот проблема заключается в том, что я не называю эти помощники View внутри контроллера. Они вызывают в библиотеке. У меня есть вспомогательная функция, которую я использую для минимизации вывода, но я не хочу, чтобы я не забывал пропускать View через minfier каждый раз, скорее сделав его глобальным. Ужасно есть способ! –

+0

Вот почему я говорю, что выполняю функцию с вашим базовым контроллером, позволяя всем контроллерам получить доступ к этому методу или зацепить его, как вы его называете. –

+0

Повторяю: «Я не называю эти помощники просмотра внутри контроллера». Они исходят из случайных местоположений, я полагаю, что могу сделать статическую функцию и называть ее через маршрут пространства имен, но, суровая, есть способ сделать это, не передавая ее через функцию явно, она полностью нарушает принцип СУХОЙ. . –