几周前,我在Laravel 5.1中遇到了同样的问题,我可以用this solution解决这个问题。
但是,现在我在Lumen面临同样的问题,但我无法调用php artisan view:clear
来清除缓存的文件。还有其他方法吗?
谢谢!
答案 0 :(得分:5)
流明中的视图缓存没有命令,但您可以轻松创建自己的命令或使用我在答案末尾找到的迷你包。
首先,将此文件放在app/Console/Commands
文件夹中(如果您的应用与App不同,请务必更改命名空间):
<?php
namespace App\Console\Commands;
use Illuminate\Console\Command;
class ClearViewCache extends Command
{
/**
* The name and signature of the console command.
*
* @var string
*/
protected $name = 'view:clear';
/**
* The console command description.
*
* @var string
*/
protected $description = 'Clear all compiled view files.';
/**
* Create a new command instance.
*
* @return void
*/
public function __construct()
{
parent::__construct();
}
/**
* Execute the console command.
*
* @return mixed
*/
public function handle()
{
$cachedViews = storage_path('/framework/views/');
$files = glob($cachedViews.'*');
foreach($files as $file) {
if(is_file($file)) {
@unlink($file);
}
}
}
}
然后打开app/Console/Kernel.php
并将命令放在$commands
数组中(再次注意命名空间):
protected $commands = [
'App\Console\Commands\ClearViewCache'
];
您可以通过运行
验证一切正常php artisan
在项目的根目录中。
现在您将看到新创建的命令:
您现在可以像在laravel中一样运行它。
修改强>
我为此创建了一个小(MIT)package,你可以用作曲家来要求它:
composer require baao/clear-view-cache
然后添加
$app->register('Baao\ClearViewCache\ClearViewCacheServiceProvider');
到bootsrap/app.php
并使用
php artisan view:clear