it-swarm.com.de

Laravel 5 Cache für Ansichten leeren

Ich stelle fest, dass Laravel Cache-Ansichten in ~/storage/framework/views. Gespeichert werden. Mit der Zeit verschlingen sie meinen Speicherplatz. Wie lösche ich sie? Gibt es einen Befehl, der es könnte? Ich habe versucht php artisan cache:clear, Aber es löscht nicht den Ansichtscache. Mit diesem muss ich die Akten in dem besagten Faltblatt manuell löschen.

Wie deaktiviere ich außerdem das Caching von Ansichten?

145
basagabi

Es gibt jetzt ein php artisan view:clear Befehl für diese Aufgabe seit Laravel 5.1

239
DilipGurung

Um den gesamten handwerklichen Befehl abzurufen, geben Sie Folgendes ein ...

php artisan

Wenn Sie den Ansichts-Cache löschen möchten, verwenden Sie einfach:

php artisan view:clear

Wenn Sie nicht wissen, wie man einen bestimmten Handwerkerbefehl verwendet, fügen Sie einfach "help" hinzu (siehe unten).

php artisan help view:clear
24
Jake Pucan

bitte versuchen Sie diesen Befehl:

Sudo php artisan cache:clear

Sudo php artisan view:clear

Sudo php artisan config:cache
8
Mosam Prajapati

Im Moment gibt es keine Ansicht: Befehl löschen. Für laravel 4 kann dies wahrscheinlich helfen: https://Gist.github.com/cjonstrup/8228165

Das Deaktivieren der Zwischenspeicherung kann durch Überspringen des Blades erfolgen. Das Zwischenspeichern von Ansichten wird durchgeführt, da das Kompilieren von Blades jedes Mal Zeitverschwendung ist.

6
ArjanSchouten

So beantworten Sie Ihre zusätzliche Frage zum Deaktivieren der Zwischenspeicherung von Ansichten:

Sie können dies tun, indem Sie die Dateien im Ordner für jede Anforderung mit dem von DilipGurung erwähnten Befehl php artisan view:clear Automatisch löschen. Hier ist ein Beispiel für eine Middleware-Klasse von https://stackoverflow.com/a/38598434/2311074

<?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);
    }
}

Möglicherweise stellen Sie jedoch fest, dass Larevel die Dateien im Ordner/app/storage/views neu kompiliert, wenn die Zeit für die Ansichten früher ist als die Zeit für die PHP Blade-Dateien für das Layout Ich kann mir kein Szenario vorstellen, in dem dies notwendig wäre.

5
Adam

verwenden Sie den Befehl Below im Terminal

php artisan cache:clear
php artisan route:cache 
php artisan config:cache 
php artisan view:clear
0
Uddyan Semwal