Я использую лезвие, которое здорово, но сокращение должно быть перекомпилировано и создаются html-файлы.
Итак, мне нужно выяснить, как удалить все файлы в представлениях хранилища при каждой перезагрузке страницы на этапе разработки.
Любая идея, что такое легкий php-код и куда его поместить? В базовом контроллере? в filers или routes.php?
Спасибо за любую идею. Я застрял и нуждаюсь в некотором совете, куда положить код удаления, поэтому он не будет удален после того, как клинок будет скомпилирован как html-файл в хранилище / представлениях.
Если вы используете PHP5 или выше, вы можете попробовать следующее. Вы можете включать или выключать его в зависимости от окружения или включен режим отладки.
<?php if (env('APP_DEBUG') || env('APP_ENV') === 'local') ini_set('opcache.revalidate_freq', '0');
Вы также можете просто вызвать команду artisan для очистки кеша с помощью промежуточного слоя или фильтров маршрутов.
Laravel 4
<?php App::before(function($request) { if (env('APP_DEBUG') || env('APP_ENV') === 'local') Artisan::call('view:clear'); });
Laravel 5+ Middleware:
<?php namespace App\Http\Middleware; use Artisan; use Closure; class ClearViewCache { /** * Handle an incoming request. * * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { if (env('APP_DEBUG') || env('APP_ENV') === 'local') Artisan::call('view:clear'); return $next($request); } }