#php #laravel #кэширование
При обновлении шаблонов Blade приходится долго ждать изменений по причине кеширования. Отключать кеширование в php.ini не вариант. Нашел на просторах решение с прописанем middleware: namespace App\Http\Middleware; use Closure; use Illuminate\Contracts\Routing\Middleware; class ClearCache implements Middleware { /** * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { $cachedViewsDirectory = app('path.storage').'/framework/views/'; if ($handle = opendir($cachedViewsDirectory)) { while (false !== ($entry = readdir($handle))) { if(strstr($entry, '.')) continue; @unlink($cachedViewsDirectory . $entry); } closedir($handle); } return $next($request); } } но при загрузке страницы blade говорит что не нашел последний кеш файл и попросту выбивает ошибку. Есть ли вариант уменьшить время или убрать вовсе.
Ответы
Ответ 1
Для Laravel 5.0 нужно установить http://packalyst.com/packages/package/kyslik/view-clear В Laravel 5.1+ уже идёт в комплекте. namespace App\Http\Middleware; use Closure; use Illuminate\Contracts\Routing\Middleware; use Illuminate\Support\Facades\Artisan; class ClearCache implements Middleware { /** * @param \Illuminate\Http\Request $request * @param \Closure $next * @return mixed */ public function handle($request, Closure $next) { Artisan::call('view:clear'); return $next($request); } }
Комментариев нет:
Отправить комментарий