每次重新加载时删除Laravel的存储/视图文件

Joh*_*kij 2 php laravel

我使用的刀片很棒,但是缩小的尺寸必须重新编译并创建html文件。

因此,在开发阶段,我需要找出如何在每次重新加载页面时删除存储视图内的所有文件。

任何想法是什么easies php代码,我应该放在哪里?在基本控制器中?在文件管理器或routes.php中?

感谢您的任何想法。我被困住了,需要一些建议在哪里放置删除代码,因此在刀片存储/视图中被编译为html文件后,它不会被删除。

Mik*_*ken 5

如果您运行的是PHP5或更高版本,则可以尝试以下操作。您可以根据环境或调试模式是否打开来打开或关闭它。

<?php
if (env('APP_DEBUG') || env('APP_ENV') === 'local') 
    ini_set('opcache.revalidate_freq', '0');
Run Code Online (Sandbox Code Playgroud)

您也可以只调用artisan命令以使用中间件或路由过滤器清除缓存。

Laravel 4

<?php
App::before(function($request)
{
    if (env('APP_DEBUG') || env('APP_ENV') === 'local') 
        Artisan::call('view:clear');
});
Run Code Online (Sandbox Code Playgroud)

Laravel 5+中间件:

<?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);
    }
}
Run Code Online (Sandbox Code Playgroud)