Heim > Schlagzeilen > Hauptteil

Laravel 7 steht kurz vor der Veröffentlichung. Werfen wir einen Blick auf die neuen Features und Funktionen!

Freigeben: 2020-03-04 15:47:28
nach vorne
5521 Leute haben es durchsucht

Laravel 7 steht kurz vor der Veröffentlichung. Werfen wir einen Blick auf die neuen Features und Funktionen!

Das offizielle Erscheinungsdatum von Laravel 7 ist der 3. März 2020. Gemäß der Richtlinie zur Veröffentlichung der wichtigsten Laravel-Versionen alle 6 Monate (Februar und August) handelt es sich um eine weitere Hauptversion. Da es sich nicht um eine LTS-Version handelt, bieten sie gemäß der Laravel-Release-Support-Richtlinie 6 Monate Support bei der Behebung von Fehlern bis zum 3. September 2020 und 1 Jahr Support bei der Behebung von Sicherheitsproblemen bis zum 3. März 2021. Werfen wir einen Blick auf die neuen Funktionen und Verbesserungen in Laravel 7. (technischer Artikel zu Laravel)

Neue Funktionen von Laravel 7

● Laravel Airlock

● Zttp für HTTP-Client

● CORS-Unterstützung

● Angepasste eloquente Besetzung

● Reibungsloser String-Betrieb

● Blade X

● Anpassbare Stubs

● Abfragezeitkonvertierung

● Mehrere Mail-Treiber

● Neue Artisan-Befehle

Verbesserungen in Laravel 7

● Routing-Modell Bindungsverbesserungen

● 2x schnelleres Routing

● Verbesserungen der Datenbankwarteschlange

● Verbesserungen der Markdown-E-Mail-Vorlage

● Und weitere Fehlerbehebungen und Verbesserungen.

Laravel Airlock

Laravel Airlock ist das offizielle Paket für die API-Authentifizierung. Es bietet einfache tokenbasierte API-Authentifizierung, Token-Ausgabe, Token-Funktionen, Authentifizierung mobiler Apps und mehr.

Zttp für HTTP-Client

Die Verwendung von Zttp wäre eine bessere und sauberere Möglichkeit, HTTP-Anfragen an die API zu stellen.

Anfrage posten

<?php
use Illuminate\Support\Facades\Http;
$response = Http::post($url);
$response = Http::post($url, [
    &#39;site&#39; => &#39;Laravel Article&#39;,
]);
Nach dem Login kopieren

Antwort erhalten

$response = Http::get($url);
$response = Http::get($url,[&#39;foo&#39;=>&#39;bar&#39;]);
Nach dem Login kopieren

Mit Anfrage-Headern

$response = Http::withHeaders([&#39;foo&#39; => &#39;bar&#39;])->post($url, [
    &#39;baz&#39; => &#39;qux&#39;,
]);
Nach dem Login kopieren

Antwort

$response[&#39;foo&#39;]
$response->body()
$response->json()
$response->status()
$response->ok()
Nach dem Login kopieren

CORS-Unterstützung

Laravel 7 unterstützt jetzt CORS (Cross-Origin Resource Sharing) sofort einsatzbereit. Sie sollten besser verstehen, dass jeder Entwickler bei der API-Entwicklung auf CORS-Probleme gestoßen ist. Laravel 7 antwortet jetzt automatisch auf OPTION-Anfragen mithilfe von Konfigurationswerten. Laravel 7 wird standardmäßig mit der HandleCors-Middleware geliefert, die alles kann.

Benutzerdefinierte eloquente Besetzung

Die benutzerdefinierte eloquente Besetzung in Laravel 7 ist ein weiteres cooles Feature. Mit dieser Funktion können Sie benutzerdefinierte Besetzungen hinzufügen. Werfen wir einen Blick auf JSON Caster.

<?php
use Illuminate\Contracts\Database\Eloquent\CastsAttributes;
class Json implements CastsAttributes
{
    public function get($model, $key, $value, $attributes)
    {
        return json_decode($value, true);
    }
    public function set($model, $key, $value, $attributes)
    {
        return json_encode($value);
    }
}
Nach dem Login kopieren

Jetzt können wir unsere benutzerdefinierte eloquente Besetzung in unserem Modell verwenden.

<?php
namespace App;
use App\Casts\Json;
use Illuminate\Database\Eloquent\Model;
class User extends Model
{
    protected $casts = [
        &#39;extra&#39; => Json::class,
    ];
}
Nach dem Login kopieren

Fließende String-Manipulation

In Laravel 7 können Sie die IlluminateSupportStr-Klasse verwenden, um weitere coole objektorientierte Dinge zu tun.

$currentVersion = (string) Str::of(&#39;  Laravel 6.x &#39;);
return $currentVersion->trim()
        ->replace(&#39;6.x&#39;, &#39;7.x&#39;)
        ->slug();
// laravel-7x
Nach dem Login kopieren

Blade X

Laravel 7 Blade

X-Komponente generieren

@php($user = $user ?? Auth::user())
@php($size = $size ?? 50)
<img
    class="inline-block rounded-full"
    src="{{ $user->gravatarUrl($size) }}"
    width="{{ $size }}"
    height="{{ $size }}"
/>
Nach dem Login kopieren

Blade x Usage

<x-avatar/>
<x-avatar size="40" />
<x-avatar size="100" />
Nach dem Login kopieren

Benutzerdefinierte Stubs

Jetzt können Sie den artisan-Befehl in benutzerdefinierten Stubs verwenden in Laravel 7.x.

php artisan stub:publish
Nach dem Login kopieren

Abfragezeitkonvertierung

Laravel 7 bietet die withCasts-Methode, mit der Sie Werte umwandeln können, während Sie eine Abfrage ausführen. Geben wir ein Beispiel.

$users = User::select([
    &#39;users.*&#39;,
    &#39;last_posted_at&#39; => Post::selectRaw(&#39;MAX(created_at)&#39;)->whereColumn(&#39;user_id&#39;, &#39;users.id&#39;)
])
->withCasts([&#39;last_posted_at&#39; => &#39;date&#39;])
->get();
Nach dem Login kopieren

Mehrere Mail-Treiber

Mit Laravel 7 können Sie mehrere Mail-Treiber mit einer einzigen Anwendung einrichten.

Mail::mailer(&#39;noreply&#39;)
        ->to($request->user())
        ->send(new PostUpdated($post));
Nach dem Login kopieren

Neuer Artisan-Befehl

Ein neuer Artisan-Testbefehl wurde zu Laravel 7 hinzugefügt. Der neue Befehl „Artisan Test“ bietet Ihnen eine schöne Benutzeroberfläche und nützliche Informationen zu Ihren Tests.

php artisan test
Nach dem Login kopieren

Verbesserungen in Laravel 7

● Verbesserungen der Routing-Modellbindung

● 2x schnelleres Routing

● Verbesserungen der Datenbankwarteschlange

● Verbesserungen der Markdown-E-Mail-Vorlage

● und weitere Fehlerbehebungen und Verbesserungen.

Verbesserungen der Routenmodellbindung

Benutzerdefinierter Schlüssel

Standardmäßig funktioniert die Routenmodellbindung mit dem ID-Feld. Jetzt können Sie es anpassen.

Route::get(&#39;posts/{post:slug}&#39;, function (App\Post $post) {
    return $post;
});
Nach dem Login kopieren

Auto-Scoping

Laravel 7 führt Abfragen automatisch zum Abrufen verschachtelter Modelle durch, indem es die Methode verwendet, mit der es Konventionen zum Identifizieren von Beziehungsaufrufen in Ihrem Programm identifiziert.

use App\Post;
use App\User;
Route::get(&#39;api/users/{user}/posts/{post:slug}&#39;, function (User $user, Post $post) {
    return $post;
});
Nach dem Login kopieren

2x schnelleres Routing

Die Routenanpassungsleistung von Laravel 7 ist bei Verwendung von route:cache 2x schneller als die von Laravel 6

Verbesserungen der Datenbankwarteschlange

Laravel 7 bringt Verbesserungen für Anwendungen, die MySQL 8+ als datenbankgestützte Warteschlange verwenden.

Verbesserungen der Markdown-E-Mail-Vorlage

Die Standard-Markdown-Vorlage für E-Mails hat mithilfe der Tailwind-CSS-Palette ein neueres Aussehen. Vorlagen können nach Bedarf veröffentlicht und angepasst werden.

Weitere Inhalte zum Thema Programmierung finden Sie in der Spalte Einführung in die Programmierung auf der chinesischen PHP-Website!

Verwandte Etiketten:
Quelle:NiZerin
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage
Über uns Haftungsausschluss Sitemap
Chinesische PHP-Website:Online-PHP-Schulung für das Gemeinwohl,Helfen Sie PHP-Lernenden, sich schnell weiterzuentwickeln!