Upgrade-Anleitung
Das Wichtigste zuerst: Lassen Sie uns zuerst unsere Laravel-Anwendung aktualisieren und dann sehen, was neu ist init. Bitte beachten Sie, dass wir den Wechsel von Laravel v6 zu Laravel v7 behandeln werden. Wenn Sie frühere Versionen verwenden, gehen Sie zu den Laravel-Upgrade-Anleitungen und folgen Sie ihnen.
1. Upgrade der Abhängigkeiten
Öffnen Sie Ihr Composer.json
Datei und Upgrade-Versionen der folgenden.
"laravel/framework": "^7.0", "nunomaduro/collision": "^4.1", "phpunit/phpunit": "^8.5" "facade/ignition": "^2.0"
Wenn Sie das CORS-Paket von Barryvdh verwenden, entfernen Sie es. Als Laravel v7 kommt jetzt in mit CORS-Paket gebaut und behandelt es automatisch für Sie.
2. Symfony 5 bezogene Upgrades
Laravel v7 verwendet die 5.x-Serie der Symfony-Komponenten. Einige kleinere Änderungen an Ihrer Anwendung sind erforderlich, um dieses Upgrade zu ermöglichen.
Erstens, die report
und render
Methoden Ihrer Anwendung App\Exceptions\Handler
Klasse sollte Instanzen der Throwable
interface anstelle von Exception
Instanzen:
use Throwable; public function report(Throwable $exception) { parent::report($exception); } public function render($request, Throwable $exception) { return parent::render($request, $exception); }
Als nächstes aktualisieren Sie bitte Ihre session
in der Konfigurationsdatei die Option secure mit dem Rückfallwert null
und die same_site
Option einen Fallback-Wert von lax
; In Ihrem session.php
:
'secure' => env('SESSION_SECURE_COOKIE', null),
'same_site' => 'lax',
3. Auth Scaffolding Upgrades
Laravel v7 wird mit Laravel Airlock ausgeliefert, das das Authentifizierungsgerüst für Sie verwaltet und sofort einsatzbereit ist. Sie müssen nur das Paket installieren. Wenn Sie bereits auth verwenden, können Sie auskommentieren Auth::routes()
von Ihren Routen, um Brüche zu vermeiden
composer require laravel/ui "^2.0"
4. Composer Update ausführen
Führen wir nun composer update aus und sehen wir, ob alles gut funktioniert.
composer update
Was ist neu in Laravel v7?
1. Laravel Airlock
Laravel Airlock bietet ein federleichtes Authentifizierungssystem für SPAs (Single Page Applications), mobile Anwendungen und einfache, tokenbasierte APIs. Airlock ermöglicht es jedem Benutzer Ihrer Anwendung, mehrere API-Tokens für sein Konto zu generieren. Diesen Token können Fähigkeiten / Scopes zugewiesen werden, die festlegen, welche Aktionen die Token durchführen dürfen.
2. Einfacher HTTP-Client
Laravel bietet jetzt eine ausdrucksstarke, minimale API für den Guzzle-HTTP-Client, mit der Sie schnell ausgehende HTTP-Anfragen zur Kommunikation mit anderen Webanwendungen stellen können. Der Wrapper von Laravel um Guzzle ist auf die häufigsten Anwendungsfälle und eine wunderbare Entwicklererfahrung ausgerichtet. Zum Beispiel macht der Client das POST und die Schnittstelle mit JSON-Daten zu einem Kinderspiel:
use Illuminate\Support\Facades\Http;
$response = Http::withHeaders([
'Authentication' => 'Bearer $token'
])->post('http://test.com/users', [
'name' => 'janedoe',
]);
return $response['id'];
3. CORS-Unterstützung
Laravel 7 enthält Unterstützung für die Konfiguration von Cross-Origin Resource Sharing (CORS) OPTIONS
Request-Antworten durch die Integration des beliebten Laravel CORS-Pakets von Barry vd. Heuvel. Eine neue CORS-Konfiguration ist im Standard-Laravel-Anwendungsskelett enthalten.
Das sind die wichtigsten Funktionen, weitere Funktionen und Verbesserungen finden Sie unter Laravel official website.