2013-05-06 2 views
0

Я хочу предварительно обработать представления до того, как они будут обработаны, обработав их и создав новый файл, а затем заставьте его загружать новый файл.Предпроцесс Laravel 4 view

Я просмотрел Пакеты/Поставщики услуг или создаю пользовательский класс вида, который расширяет класс в Illuminate\View и захватывает его App::bind('view', 'CustomView'), но ни один из них не работает так, как я хочу.

Возможно ли это как-то?

Пример:

  1. View::make('some_view');
  2. Проверить, если some_view изменилось, если так предварительно процесс и сохранить результат в некоторых кэш-директорию, например, app/storage/cache/some_view.blade.php.
  3. Viewapp/storage/cache/some_view.blade.php вместо этого.
+0

Вы пытаетесь кэшировать визуализированный вид или выполнять некоторую другую предварительную обработку? Laravel уже кэширует скомпилированные шаблоны как PHP; но не выводимый вывод. Если это так, то лучше подумать о написании собственного класса CachedView, который обертывает представление некоторым кэшированием. –

+0

@PhillSparks Я хочу предварительно обработать для перевода с помощью специальной разметки перевода. – Znarkus

ответ

0

Попробуйте View::swap(new CustomView);

все фасады имеет своп() доступны. Я сам использовал его, чтобы поменять функцию Hash на свой собственный класс, чтобы использовать Laravel с существующим проектом.

+0

Я не могу понять, какой класс CustomView должен расширять, любые идеи? – Znarkus

+0

Я вижу, что это не так просто, как расширение хэш-функции, не может помочь вам здесь! – Christian

Смежные вопросы