📜  在 laravel 8 中不使用 composer 清除缓存 - PHP (1)

📅  最后修改于: 2023-12-03 15:37:23.212000             🧑  作者: Mango

在 Laravel 8 中不使用 Composer 清除缓存

在 Laravel 8 中清除缓存是一个常见的任务,当我们更改了某些配置文件或引入了新的服务提供者时,需要清除缓存以使更改生效。通常情况下,我们可以使用 Composer 执行以下命令来清除 Laravel 应用程序的缓存:

composer dump-autoload
php artisan cache:clear
php artisan config:clear
php artisan route:clear
php artisan view:clear

但是,如果你在一些情况下无法使用 Composer,那么该怎么办呢?接下来我们介绍两种在 Laravel 8 中不使用 Composer 清除缓存的方法。

方法一:手动清除缓存

我们可以手动清除 Laravel 8 中的缓存,以达到清除缓存的目的。

  1. 打开终端窗口,并切换到 Laravel 应用程序的根目录。

  2. 执行以下命令手动清除框架缓存:

php artisan config:clear
php artisan cache:clear 
php artisan view:clear 
php artisan route:clear

这四个命令会清除框架对应的缓存。

方法二:自定义 Artisan 命令

还可以编写自定义 Artisan 命令来清除 Laravel 8 应用程序的缓存。这样可以方便地在终端窗口中执行此命令,以自动清除缓存。

以下是编写自定义 Artisan 命令的步骤:

  1. 在 Laravel 应用程序的根目录中打开终端窗口并执行以下命令:
php artisan make:command ClearCache

这将创建一个新的名为 "ClearCache" 的 Artisan 命令。

  1. 打开 app/Console/Commands/ClearCache.php 文件,并添加以下代码:
<?php

namespace App\Console\Commands;

use Illuminate\Console\Command;

class ClearCache extends Command
{
    /**
     * The name and signature of the console command.
     *
     * @var string
     */
    protected $signature = 'clear:cache';

    /**
     * The console command description.
     *
     * @var string
     */
    protected $description = 'Clear the cache of the Laravel application.';

    /**
     * Execute the console command.
     *
     * @return mixed
     */
    public function handle()
    {
        $this->call('config:clear');
        $this->call('cache:clear');
        $this->call('view:clear');
        $this->call('route:clear');
        $this->info('Application cache cleared!');
        return 0;
    }
}

此代码会在执行 clear:cache 命令时依次执行 config:clearcache:clearview:clearroute:clear 命令。可以根据需要添加其他命令。

  1. 最后,在终端窗口中执行以下命令以清除 Laravel 8 应用程序的缓存:
php artisan clear:cache

以上是两种在 Laravel 8 中不使用 Composer 清除缓存的方法。您可以选择适合您的方法,以保证您的 Laravel 应用程序的缓存能够得到及时清除。