当前位置: 首页 > 知识库问答 >
问题:

清除Lumen上的视图缓存

姜聪
2023-03-14

几周前,我在Laravel5.1中遇到了同样的问题,我可以用这个解决方案解决这个问题。

然而,现在我在Lumen中面临着同样的问题,但是我不能调用php artisan view:清除来清除缓存的文件。还有别的办法吗?

谢谢!

共有1个答案

张鸿志
2023-03-14

流明中没有视图缓存的命令,但是你可以很容易地创建你自己的或者使用我在答案末尾找到的迷你包。

首先,将此文件放入你的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

在项目的根中。

您现在将看到新创建的命令:

你现在可以像在拉雷维尔那样运行它了。

编辑

我已经为此创建了一个小型(MIT)软件包,您可以在composer中使用它:

composer require baao/clear-view-cache

然后加上

$app->register('Baao\ClearViewCache\ClearViewCacheServiceProvider');

引导/app.php并运行它

php artisan view:clear
 类似资料:
  • 我注意到Laravel缓存视图存储在但是没有清除视图缓存。因此,我必须手动删除上述文件夹中的文件。 另外,如何禁用视图缓存?

  • 我有一个如下定义的表视图 当用户单击时,我使用单击的项目详细信息重新加载表。在我重新加载之前,我对表项调用清除 现在,当我单击另一个项目并尝试重新加载表格时,它看起来像下面这样。这是非常奇怪的,因为应该只有一行,但行的大小是一样的,就像从以前的点击,其余的行是空的,除了图标。当我点击图标时,没有任何反应。任何人以前都面临过这种情况。有人知道这是什么原因吗? 我的工具定义如下。它们只是2 的

  • 当我删除缓存的临时视图时,火花应用程序是否会清除缓存? 我在下面添加了片段,以提供更多关于这个问题的细节。 问题是,DROP TABLE temp_view_1这样的语句是否也清除了缓存?如果没有,如何清除缓存?

  • 我目前正在从事Angular/Ionic/Cordova项目,我们最近升级到了最新的Ionic测试版。从项目之前使用的版本来看,这引入了视图缓存。然而,这也带来了一个问题。 该应用程序面向客户,非常以数据为中心。但是,用户必须进行身份验证才能查看当前与其帐户关联的数据;当用户注销并登录到另一个帐户时,由于视图仍在缓存中,因此会显示上一个帐户的视图。 当用户登录时,应用程序仍应缓存视图,因为这有助于

  • void clear_cache(string template [, string cache id [, string compile id [, int expire time]]]) This clears the cache for a specific template. If you have multiple caches for this template, you can cl

  • 问题内容: 我试图按照此处的建议从缓存中删除模块。 在文档中,我们阅读: require.cache 目的 需要时将模块缓存在此对象中。 通过从该对象中删除键值,下一个require将重新加载模块。 因此,我创建了一个包含一行的名为的文件: 然后我需要通过外壳: 那么,为什么不返回时,我的文件中包含和清除缓存? 进行调试时,我发现有一个对象在执行时未清除。 问题答案: 只是公开的缓存对象引用,不会