После того, как фильтры, как правило, работают после того, как ответ был отправлен пользователю.
Так, чтобы минимизировать HTML-код, который пользователь увидит, необходимо обработать до его отправки.
Но до того, как фильтры здесь не будут работать. Поскольку они вызываются до обработки метода контроллера.
Таким образом, ваш процесс будет использоваться в вашем контроллере. Возможным решением может быть использование вспомогательной функции с вашим кодом минимизации или как функция внутри вашего BaseController
, которая доступна для всех ваших контроллеров, которые вызывали вспомогательная функция.
Вы можете сделать следующее в своем контроллере;
$view = View::make('view.path', $data)->render()
Это визуализирует и обрабатывает представление в HTML, который пользователь увидит.
Затем вы можете передать это функции, которую вы должны минимизировать HTML и вставить в ответ JSON.
Но вот проблема заключается в том, что я не называю эти помощники View внутри контроллера. Они вызывают в библиотеке. У меня есть вспомогательная функция, которую я использую для минимизации вывода, но я не хочу, чтобы я не забывал пропускать View через minfier каждый раз, скорее сделав его глобальным. Ужасно есть способ! –
Вот почему я говорю, что выполняю функцию с вашим базовым контроллером, позволяя всем контроллерам получить доступ к этому методу или зацепить его, как вы его называете. –
Повторяю: «Я не называю эти помощники просмотра внутри контроллера». Они исходят из случайных местоположений, я полагаю, что могу сделать статическую функцию и называть ее через маршрут пространства имен, но, суровая, есть способ сделать это, не передавая ее через функцию явно, она полностью нарушает принцип СУХОЙ. . –