Was ist neu in Laravel 10: Ein tiefer Einblick in die neuesten Updates und Funktionen

Veröffentlicht: 2023-01-25

Haben Sie sich nach über einem Jahrzehnt seit der Einführung des äußerst beliebten Laravel-Frameworks jemals gefragt: „Was kann Laravel PHP-Entwicklern noch bieten?“

Angesichts der Tatsache, wie sehr es die PHP-Entwicklung sowohl für Anfänger als auch für professionelle Entwickler bereits vereinfacht hat, mögen einige sogar argumentieren, dass es Entwickler verwöhnt hat zu glauben, dass PHP die einfachste Programmiersprache da draußen ist.

Hat Laravel also noch weitere Überraschungen für Laravel-Entwickler auf Lager? Oder hat es alle möglichen Mittel ausgeschöpft, um PHP-Entwickler zu unterstützen?

Nun, zumindest wissen wir, dass Laravel 10 viel zu bieten hat. Das werden wir in diesem Artikel aufdecken, während wir Sie auf eine Reise durch die neuen Funktionen, Korrekturen und frisch veralteten Methoden und Pakete von Laravel 10 mitnehmen.

Laravel-Veröffentlichungszeitplan

Das Kernteam von Laravel veröffentlichte früher jährlich zwei Hauptversionen – eine alle sechs Monate.

Der Veröffentlichungszyklus wurde jedoch geändert, als Taylor Otwell, der Schöpfer von Laravel, ankündigte, dass nun jedes Jahr eine einzige Hauptversion veröffentlicht werden würde. Dies ermöglichte es dem Kernteam und der Community, mehr Zeit und Mühe auf eine bestimmte Version des Frameworks zu verwenden und neue leistungsstarke Funktionen einzuführen, ohne bahnbrechende Änderungen vorzunehmen.

Da Laravel 9 am 8. Februar 2022 veröffentlicht wurde, sieht der voraussichtliche Veröffentlichungszeitplan wie folgt aus:

  • Laravel 10 : 7. Februar 2023
  • Laravel 11 : 6. Februar 2024

Außerdem werden laut Support-Richtlinie für alle Laravel-Versionen Bugfixes für 18 Monate und Sicherheitsupdates für zwei Jahre angeboten.

Im Folgenden sind die erwarteten Fehlerbehebungen und der Zeitplan für Sicherheitsupdates aufgeführt:

  • Laravel 9 wird weiterhin bis zum 8. August 2023 Bugfixes und bis zum 6. Februar 2024 Sicherheitsfixes erhalten.
  • Laravel 10 erhält bis zum 6. August 2024 Bugfixes und bis zum 4. Februar 2025 Sicherheitsfixes.
  • Laravel 11 wird voraussichtlich bis zum 4. August 2025 Bugfixes und bis zum 2. Februar 2026 Sicherheitsfixes erhalten.

Sollten Sie auf Laravel 10 upgraden?

Es ist wichtig, sich daran zu erinnern, dass wir die Laravel-Version unserer Anwendung nicht immer auf die neueste Version aktualisieren müssen, sobald eine neue Version veröffentlicht wird.

Laravel ist ein Open-Source-Framework, was bedeutet, dass wir jedes Mal, wenn wir eine neue Laravel-Instanz auf unserem Computer installieren, die Codebasis des Frameworks besitzen. Das bedeutet, dass die App auch dann noch funktioniert, wenn die von unserer App verwendete Framework-Version nicht mehr unterstützt wird. wir müssen es nur selbst pflegen.

Aus diesem Grund wird allgemein empfohlen, der Anwendungsstabilität Vorrang vor Framework-Upgrades einzuräumen.

Kurz gesagt, Sie sollten ein Upgrade auf Laravel 10 in Betracht ziehen, wenn:

  • Die Anwendung ist mit der aktuellen Version stabil und funktioniert ohne Probleme.
  • Die neue Version fügt entweder eine Funktion hinzu, die Ihre Anwendung erfordert, oder behebt ein Problem, das bei Ihrer Anwendung auftritt.
  • Die Anwendung wird ausführlich getestet, bevor die Upgrade-Änderungen in die Produktion übernommen werden.

Laravel 10 Hot-Updates

Laravel 10-Logo
Ein Bild des Laravel 10-Logos.

Wie Sie bereits wissen, wurde Laravel 10 noch nicht veröffentlicht. Wir werden diesen Artikel jedoch mit allen neuen Informationen über die erwartete Veröffentlichung auf dem neuesten Stand halten. Daher empfehlen wir, diese Seite mit einem Lesezeichen zu versehen und von Zeit zu Zeit erneut zu besuchen.

Neue Funktionen und Updates in Laravel 10

Es besteht kein Zweifel, dass das Aufregendste an jeder neuen Version die Hinzufügung neuer Funktionen ist. Beginnen wir also ohne weiteres mit einem Blick auf die neuen Funktionen und Updates in Laravel 10.

1. PHP 8.1: Das Herzstück von Laravel 10

PHP 8.1 ist die mindestens erforderliche PHP-Version in Laravel 10. Basierend auf dem Vergleich zwischen dem Laravel 9-Zweig und dem Master-Zweig des Frameworks auf GitHub wird erwartet, dass einige PHP 8.1-Funktionen, wie z. B. readonly Eigenschaften und array_is_list , in Laravel 10 eingeführt werden .

2. Unterstützung für PHP 8.2

PHP 8.2 wurde am 8. Dezember 2022 veröffentlicht, nur zwei Monate vor dem Veröffentlichungsdatum von Laravel 10. Dies sollte Sie jedoch nicht davon abhalten, die Funktionen von PHP 8.2 zu nutzen, da Laravel 10 ohne zusätzliche Maßnahmen für PHP 8.2 bereit sein wird.

Tatsächlich unterstützt das gesamte Laravel-Ökosystem, einschließlich Forge, Vapor und Envoyer, PHP 8.2, und Sie können sogar PHP 8.2 mit Laravel 9 verwenden. Wie cool ist das?!

3. Upgrade der Laravel-Starterkits

Laravel Breeze und Jetstream sind bereit, Laravel 10 zu verwenden, sobald es veröffentlicht wird. Darüber hinaus sind sie bereits auf Inertiajs 1 aktualisiert, mit einer Überraschung für JetStream, um vollständige Dark-Mode-Unterstützung zu haben.

4. Upgrade der Predis-Version

Predis ist ein robuster Redis-Client für PHP, der Ihnen helfen kann, das Beste aus dem Caching herauszuholen, um eine fantastische Benutzererfahrung zu bieten. Laravel unterstützte früher beide Versionen 1 und 2, aber ab Laravel 10 unterstützt das Framework Predis 1 nicht mehr.

Obwohl die Laravel-Dokumentation Predis als Paket für die Interaktion mit Redis erwähnt, können Sie auch die offizielle PHP-Erweiterung verwenden. Diese Erweiterung bietet eine API für die Kommunikation mit Redis-Servern.

5. Deklarationen des nativen Typs

Laravel verwendete früher DocBlocks in seinem Skeleton-Code, um zu verdeutlichen, was ein Stück Code tut und welche Art von Parametern oder Antworten zu erwarten sind. Dank nativer Typdeklarationen in Laravel 10 wird sich dies jedoch ändern.

Am besten lässt sich diese Änderung an einem einfachen Beispiel erklären. Anstelle einer Funktion, die so aussieht:

 /** * Determine whether the user can create models. * * @param \{{ namespacedUserModel }} $user * @return \Illuminate\Auth\Access\Response|bool */ public function create({{ user }} $user) { // }

…es sieht stattdessen so aus:

 /** * Determine whether the user can create models. */ public function create({{ user }} $user): bool { // }

Diese Änderung dient ausschließlich dem Nutzen der Entwicklererfahrung, da IDEs die Form des erwarteten Parameters und der erwarteten Antwort kennen. Es bietet eine bessere Typklarheit, wenn dies durch native PHP-Typen nicht möglich ist. Daher wird es den Code-Editoren helfen, mit Auto-Complete-Funktionen eine bessere Leistung zu erzielen.

6. Alle standardmäßig aufrufbaren Validierungsregeln

Wenn Sie in Laravel 9 eine aufrufbare Validierungsregel erstellen würden, müssten Sie das Flag --invokable nach dem artisan-Befehl hinzufügen. Dies ist nicht mehr erforderlich, da alle Laravel 10-Regeln standardmäßig aufrufbar sind. Sie können also den folgenden Befehl ausführen, um eine neue aufrufbare Regel in Laravel 10 zu erstellen:

 php artisan make:rule CustomRule

7. Unterstützung der nativen Spaltenmodifikation

In einem Versuch, die Notwendigkeit des doctrine/dbal -Pakets bei der Verwendung von change() zum Ändern von Spalten zu beseitigen, kommt eine neue Funktion zu Laravel 10. Diese Funktion ermöglicht es Entwicklern, die change() Methode zu verwenden und Spalten in MySQL, PostgreSQL und zu ändern SQL Server ohne zusätzliche Pakete. Dies ist eine bedeutende und riskante Änderung, aber wir glauben, dass sie sich lohnt, da sie die Notwendigkeit eines zusätzlichen Pakets beseitigt.

Um die neue Funktion besser zu verstehen, sehen Sie sich das folgende Beispiel an:

 $table->integer('user_balance')->unsigned()->default(0)->comment('balance'); // `user_balance` is an integer, unsigned, defaults to '0', and column comment is 'balance'

Nun gehen wir davon aus, dass wir eine Spalte für user_balance haben und ihren Typ ändern möchten. Ab Laravel 10 können wir das einfach tun:

 $table->bigInteger('user_balance')->change(); // This will change `user_balance` to bigInteger instead of just integer

Der obige Code wird den Typ der Spalte erfolgreich ändern, aber auch die Attribute UNSIGNED , DEFAULT und COMMENT . Daher ist es wichtig, daran zu denken, alle Attribute hinzuzufügen, wenn Sie den Typ einer Spalte ändern:

 $table->bigInteger('user_balance')->unsigned()->default(0)->comment('balance')->change();

Für den Fall, dass Sie mehrere Datenbankverbindungen haben und doctrine/dbal bereits installiert haben, wird empfohlen, die Methode Schema::useNativeSchemaOperationsIfPossible() innerhalb der boot Methode in App\Providers\AppServiceProvider , um native Schemaoperationen verwenden zu können und zu verwenden native Operationen, bevor Sie sich auf das Paket verlassen (SQLite unterstützt dies beispielsweise noch nicht):

 use IlluminateSupportFacadesSchema; class AppServiceProvider extends ServiceProvider { public function boot() { Schema::useNativeSchemaOperationsIfPossible(); } }

8. Spaltentyp Nativer Abruf

Ein weiteres bemerkenswertes Feature von Laravel 10 ist die Möglichkeit, die Schema::getColumnType Methode zu verwenden, ohne sich auf das doctrine/dbal -Paket verlassen zu müssen. Wir verwenden derzeit Schema::getColumnType mit doctrine/dbal , um den Spaltentyp zu erhalten. doctrine/dbal ordnet jeden nativen Spaltentyp seinem entsprechenden doctrine/dbal -Typ zu und unterstützt nicht viele der Spaltentypen, die von Laravel in verschiedenen Datenbanken verwendet werden.

In Laravel 10 hingegen gibt die neue Schema::getColumnType Methode den tatsächlichen Spaltentyp zurück und nicht sein doctrine/dbal Äquivalent. Es ermöglicht Ihnen auch, Integrationstests für die neue native Funktion zum Ändern von Spalten zu schreiben. Sie können diese Funktion verwenden, um entweder den Datentypnamen oder die gesamte Typdefinition der angegebenen Spalte abzurufen:

 Schema::getColumnType('products', 'price'); // decimal

9. Schneller Hashing-Algorithmus

xxHash ist ein Hash-Algorithmus, der unglaublich schnell ist. Es zeichnet sich durch eine hervorragende Zufälligkeit und Streuung der Ausgabe sowie durch die Einzigartigkeit zur Reduzierung von Kollisionen aus. Da PHP 8.1 Unterstützung für xxh128 bietet und Laravel 10 auf PHP 8.1 läuft, ist es ideal, einen solch zuverlässigen Hash-Algorithmus in Laravel 10 zu haben.

Es ist erwähnenswert, dass Taylor während seiner Überprüfung dieser Änderung hervorgehoben hat, dass einige Pakete von Drittanbietern möglicherweise darauf angewiesen sind, dass die Dateinamen im genauen Format wie der SHA-1-Hash vorliegen, der der Algorithmus ist, den Laravel für das Hashing verwendet. Wenn Sie also ein Upgrade auf Laravel 10 planen, ist es ratsam, dies in allen Paketen von Drittanbietern, die Sie in Ihrer App verwenden, noch einmal zu überprüfen.

10. Unterstützung der Methode whereExists() für Eloquent Builder

Derzeit erfordert die Verwendung von whereExists() die Konfiguration der verschachtelten Abfrage mit einem Abschluss. Glücklicherweise ist es mit Laravel 10 jetzt möglich, einen Eloquent Builder als verschachtelte Abfrage einzubinden. Es ermöglicht die Verwendung von benutzerdefinierten Builder-Methoden, Modellbereichen usw.

Zum Beispiel machen wir das normalerweise, wenn wir whereExists() verwenden wollen:

 Order::whereExists(function ($query) { $query->from('products')->whereColumn('products.order_id', 'orders.id'); });

Mit Laravel 10 können wir stattdessen genau das tun:

 Order::whereExists( Product::whereColumn('products.order_id', 'orders.id') );

11. Eifrige Ladeoptimierung

Eine der interessanten neuen Funktionen von Laravel 10 ist die eifrige Ladeoptimierung, wenn keine Schlüssel geladen werden müssen. Diese Änderung ist eher eine Lösung als ein Feature, da sie ein aktuelles Problem angeht, bei dem eifrige Ladebeziehungen dazu führen, dass eine große Anzahl unmöglicher Abfragen ausgeführt werden.

Derzeit wird Laravel beim eifrigen Laden von Beziehungen, die keine zu ladenden Schlüssel haben, immer noch eine ähnliche Abfrage wie diese ausführen select \* from `table_name` where 0 = 1 . Das neue Laravel 10-Update überprüft jedoch, ob überhaupt Schlüssel verfügbar sind, und liefert andernfalls eine leere Sammlung, wodurch unnötige Datenbankabfragen entfallen.

Veraltete Methoden und Pakete in Laravel 10

Laravel 10 verabschiedet sich von PHP 8.0

Das Laravel-Framework wird die Unterstützung für PHP 8.0 in Laravel 10 einstellen. Wenn Sie also planen, Ihre App auf Laravel 10 zu aktualisieren, müssen Sie zuerst die PHP-Version auf PHP 8.1 oder PHP 8.2 aktualisieren.

Entfernung veralteter Methoden

Wir können sehen, dass das Laravel-Kernteam veraltete Methoden in Laravel 9 aus dem Laravel 10-Zweig entfernt. Wir gehen davon aus, dass das Team den Upgrade-Leitfaden der Dokumentation aktualisieren wird, um alle veralteten Methoden und Pakete aufzunehmen, sobald Laravel 10 veröffentlicht wird.

Wenn Sie ein aktuelles Projekt auf Laravel 10 migrieren, sollte jeder Code, der eine veraltete Methode verwendet, in einem neuen Ansatz neu geschrieben werden, um das gleiche Ergebnis zu erzielen.

Hier ist eine Liste aller Verwerfungen und Löschungen, die wir beim Vergleich von Laravel 9 mit dem Master-Zweig gefunden haben:

  • Die Methode Route::home (veraltet in Laravel 9)
  • Die veralteten Funktionen und Methoden rund um dispatchNow . Dies soll Entwickler ermutigen, dispatchSync zu verwenden, da dies die einzige unterstützte Methode zum sofortigen Versenden ist.
  • Die getBaseQuery , weil sie ein toBase Äquivalent hat
  • Die Klasse MaintenanceModeException , die nicht mehr verwendet wurde
  • Die MocksApplicationServices Eigenschaft
  • Die Mail::failures -Methode des Mail-Fake
  • Die veraltete $dates -Eigenschaft, es wird empfohlen, stattdessen $casts zu verwenden
  • Die Methode assertTimesSent()
  • Unterstützung für Predis 1 und doctrine/dbal 2 eingestellt
  • Alle damit verbundenen Verwerfungen in doctrine/dbal , seit Laravel die Unterstützung für Version 2 eingestellt hat

So installieren Sie Laravel 10

Laravel 10 ist bereits jetzt verfügbar, damit Sie es ausprobieren und seine Funktionen testen können. Das Flag –dev im Laravel-Installationsprogramm installiert den Master-Zweig aus dem laravel/laravel Repository. Alles, was Sie tun müssen, ist diesen Befehl in Ihrem Terminal auszuführen:

 laravel new example-kinsta-app --dev

Oder, wenn Sie Composer bevorzugen:

 composer create-project --prefer-dist laravel/laravel example-kinsta-app dev-master

Um den Composer-Befehl besser zu verstehen, hier eine kurze Erklärung:

  • laravel/laravel : Das Paket für die Laravel-Installation
  • example-kinsta-app : Das neue Verzeichnis für Ihr neues Projekt (kann geändert werden)
  • dev-master : Die nächste Version von Laravel (in diesem Fall Laravel 10)

Nach der Installation von Laravel 10 können Sie die Version bestätigen, indem Sie zum neuen Verzeichnis example-kinsta-app navigieren und den artisan-Befehl ausführen:

 $ php artisan --version Laravel Framework 10.x-dev

So aktualisieren Sie ein Projekt auf Laravel 10

Sind Sie versucht, auf Laravel 10 zu aktualisieren? Das Laravel-Kernteam arbeitet hart an der Dokumentation, um einen nahtlosen und unkomplizierten Upgrade-Leitfaden bereitzustellen und gleichzeitig alle möglichen Breaking Changes abzudecken. Schauen Sie sich gerne die Upgrade-Anleitung für Laravel 10 an, da einige Informationen zum Upgrade-Prozess jetzt verfügbar sind.

Sie sollten auch Laravel Shift im Auge behalten, sobald Laravel 10 veröffentlicht wird. Es bietet einen einfachen und automatisierten Ansatz zum Aktualisieren Ihrer Laravel-Version.

Zusätzlich zur Laravel-Dokumentation und Laravel Shift werden wir bei Kinsta einen umfassenden Upgrade-Leitfaden mit Beispielen aus der Praxis veröffentlichen. Vergessen Sie also nicht, diese Seite mit einem Lesezeichen zu versehen und zu ihr zurückzukehren, sobald Laravel 10 veröffentlicht wurde.

So stellen Sie Laravel 10-Projekte bereit

Die Bereitstellung von Laravel 10 sollte sich nicht so sehr von der Bereitstellung des Laravel 9-Projekts unterscheiden. Hier ist, was wir von den Serveranforderungen erwarten:

  • PHP >= 8.1
  • BCMath PHP-Erweiterung
  • Ctype PHP-Erweiterung
  • cURL-PHP-Erweiterung
  • DOM-PHP-Erweiterung
  • Fileinfo PHP-Erweiterung
  • JSON-PHP-Erweiterung
  • Mbstring PHP-Erweiterung
  • OpenSSL-PHP-Erweiterung
  • PCRE PHP-Erweiterung
  • PDO-PHP-Erweiterung
  • Tokenizer-PHP-Erweiterung
  • XML-PHP-Erweiterung

Du kannst dein Laravel 10-Projekt innerhalb weniger Minuten auf Kinsta bereitstellen und hosten, da Laravel eines von einer langen Liste unterstützter Frameworks für gehostete Apps ist.

Bereitstellung von Laravel 10 auf Kinsta: Schritt-für-Schritt-Anleitung

Das Hosten und Bereitstellen Ihrer Anwendungen auf Kinsta bietet mehrere Vorteile, einschließlich der Notwendigkeit, sich nicht um die Bereitstellungskonfiguration kümmern zu müssen.

Kinsta bietet ein benutzerfreundliches und dennoch leistungsstarkes Tool zum Bereitstellen von Anwendungen, zum Verbinden mit Datenbanken und zum Überwachen der Live-Performance. Dieses Tool ist als MyKinsta bekannt, und in diesem Abschnitt führen wir Sie durch die Schritte zur Bereitstellung einer Laravel 10-Anwendung, die es verwendet.

1. Laravel 10-Anwendung

Homepage der Laravel 10-Anwendung
Die Homepage einer auf Kinsta bereitgestellten Laravel 10-Anwendung.

Angenommen, Sie haben lokal eine Laravel 10-Anwendung, müssen wir sicherstellen, dass ein Github-Repository verfügbar ist. Wir werden dieses Repository verwenden, um die Anwendung später bereitzustellen.

Sie können eine .htaccess -Datei in das Stammverzeichnis Ihrer Anwendung einfügen, die Folgendes enthält:

 <IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule>

Für Laravel leitet dies alle Anfragen an public/index.php weiter. Bei Bedarf können Sie diesen Befehl jedoch aktualisieren, während Sie Ihre Anwendung hinzufügen (Schritt „ Prozesse einrichten“) oder nach der Bereitstellung auf der Seite „ Prozesse “ der Anwendung. Sie können Folgendes verwenden:

  • heroku-php-apache2 /public
  • php artisan serve --host 0.0.0.0 --port 8080

2.Melde dich bei MyKinsta an

MyKinsta-Anmeldeseite
Screenshot für die Anmeldeseite von MyKinsta.

Gehen Sie zur Anmeldeseite von MyKinsta und geben Sie Ihre E-Mail-Adresse und Ihr Passwort ein. Wenn Sie noch kein Konto haben, können Sie ein neues Konto registrieren und 20 $ Rabatt auf den ersten Monat eines Abonnements eines Preisplans erhalten.

3. Kinsta auf GitHub autorisieren

Sobald Sie sich angemeldet haben, werden Sie feststellen, dass das Dashboard 3 Optionen zum Erstellen einer WordPress-Site, zum Erstellen einer Anwendung oder zum Erstellen einer Datenbank bietet. Wir werden auf die Schaltfläche GitHub verbinden drücken, um mit GitHub zu integrieren.

MyKinsta-Dashboard
Ein Screenshot für das MyKinsta-Dashboard.

Klicken Sie anschließend auf die Schaltfläche Continue with GitHub . Wenn du noch nicht bei GitHub angemeldet bist, wird dir die Option zum Anmelden angezeigt. Dann kannst du die Kinsta-GitHub-Anwendung autorisieren, auf dein GitHub-Konto zuzugreifen, indem du Kinsta autorisieren auswählst .

Schließlich leitet GitHub Ihren Browser zu MyKinsta um, um mit der Einrichtung der Anwendung fortzufahren.

MyKinsta mit GitHub verbinden
Screenshot zum Verbinden von MyKinsta mit GitHub.

Nachdem Sie mit GitHub verbunden sind, wird Ihnen das Popup/Modal „ Anwendung hinzufügen“ angezeigt, das ein Dropdown-Menü zur Auswahl eines GitHub-Repositorys enthält. Klicken Sie auf das Feld GitHub-Repository und wählen Sie im Dropdown-Menü GitHub-Berechtigungen bearbeiten aus.

Hinzufügen einer Anwendung zu MyKinsta
Screenshot zum Hinzufügen einer Anwendung zu MyKinsta.

Dadurch wird in Ihrem Browser ein neuer Tab auf der GitHub-Webseite geöffnet, auf der Sie auswählen können, auf welche Daten Kinsta zugreifen kann. Anstatt den Zugriff auf alle Repositories zu ermöglichen, solltest du in Betracht ziehen, nur dasjenige auszuwählen, das Kinsta verwenden soll. Klicken Sie auf Nur Repositorys auswählen und wählen Sie das Repository aus, das Sie bereitstellen möchten.

Installation von MyKinsta auf GitHub
Ein Screenshot für die Installation von MyKinsta auf GitHub.

Klicken Sie dann auf Installieren und schon sind Sie fertig!

Wenn du zu MyKinsta zurückkehrst und auf das GitHub-Repository -Feld klickst, sollte das autorisierte Repository sichtbar sein. Zusätzlich kannst du das Kontrollkästchen Automatische Bereitstellung bei Commit aktivieren, um die Funktion von MyKinsta zu aktivieren, damit deine Anwendung automatisch bereitgestellt wird, sobald du Änderungen am GitHub-Repository vornimmst.

Repository-Zweig für MyKinsta auswählen
Screenshot für die Auswahl des Repository-Zweigs für MyKinsta.

4. Fügen Sie grundlegende Anwendungsdetails hinzu

Sie können der Anwendung jetzt einen Namen geben, der nur im Dashboard verwendet wird, und aus 25 Rechenzentrumsstandorten auswählen, sodass Sie Ihre Anwendung an dem geografischen Standort platzieren können, der Ihren Benutzern am nächsten ist. Wenn Sie Hilfe bei der Bestimmung des idealen Rechenzentrums für Ihre Anwendung benötigen, sehen Sie sich unseren Leitfaden zur Auswahl des richtigen Rechenzentrumsstandorts an.

Grundlegende Details der Anwendung hinzufügen
Screenshot zum Hinzufügen grundlegender Anwendungsdetails.

5. Fügen Sie Umgebungsvariablen hinzu

Der folgende Abschnitt dient dem Hinzufügen von Umgebungsvariablen, und die wichtigste Variable ist APP_KEY .

Wenn Sie noch keinen Schlüssel in Ihrer .env -Datei haben, können Sie einen mit einem Online-Laravel-Schlüsselgenerator generieren. Fügen Sie dann APP_KEY in das Feld Key 1 und den generierten App-Schlüssel in das Feld Value 1 ein.

Wählen Sie abschließend Verfügbar während der Laufzeit und Verfügbar während des Build-Prozesses aus .

Hinzufügen von env-Variablen zur MyKinsta-Anwendung
Screenshot zum Hinzufügen von env-Variablen zur MyKinsta-Anwendung.

5. Konfigurieren Sie die Build-Umgebung

Das Zauberhafte dabei ist, dass Sie nichts konfigurieren müssen! Sie können fortfahren, indem Sie auf die Schaltfläche Weiter klicken, und voila! Sie haben die Konfiguration der integrierten Umgebung abgeschlossen. Wenn Sie jedoch die Build-Ressourcen verbessern möchten, um ein schnelleres Erstellen zu gewährleisten, können Sie die bevorzugte Option aus dem Feld Build-Ressourcen auswählen.

Das Feld Build-Pfad ist optional – du kannst es leer lassen und MyKinsta verwendet den Stammordner.

MyKinsta-Anwendungserstellungsumgebung
Konfigurieren der Build-Umgebung der Anwendung.

6. Richten Sie die Prozesse und die Zahlungsmethode ein

Füllen Sie für den Abschnitt „ Ressourcen “ jedes Feld mit den folgenden Informationen aus:

  • Prozessname: Der Name, der in der Liste der Prozesse Ihrer Anwendung angezeigt wird.
  • Prozesstyp: Wählen Sie ihn sorgfältig aus, da dieser einmal festgelegt nicht mehr geändert werden kann. Sie können jedoch nach der Bereitstellung auf der Seite „ Prozesse “ Ihrer Anwendung zusätzliche Prozesse hinzufügen und ändern, z. B. einen Hintergrundjob.
  • Startbefehl: Der „Start“-Befehl für Ihren Prozess (nicht erforderlich).
  • Pod-Größe: Die Pod-Kapazität, die Sie voraussichtlich für Ihren Prozess benötigen werden.
  • Anzahl der Instanzen : Die Anzahl der Instanzen für Ihren Prozess (maximal 50).

Beachten Sie, dass Sie einfach auf Weiter klicken können, ohne das Startbefehlsfeld auszufüllen, da Kinsta den erforderlichen Befehl während der ersten Bereitstellung automatisch erkennt.

Einrichtungsprozess der MyKinsta-Anwendung
Screenshot zum Einrichten des Anwendungsprozesses.

Überprüfen Sie im letzten Schritt die für Ihre App berechneten monatlichen Nutzungskosten und bestätigen Sie dann Ihre Zahlungsmethode. Wenn Sie fertig sind, klicken Sie auf die Schaltfläche Zahlungsmethode bestätigen .

Bestätigen der Zahlungsdetails für MyKinsta
Screenshot zur Bestätigung der Zahlungsdetails.

Und du bist fertig! Kinsta erledigt die gesamte Arbeit im Hintergrund, um Ihre Anwendung zu bedienen.

Bereitstellungsprozess der Anwendung wird geladen
Screenshot zum Laden des Bereitstellungsprozesses der Anwendung.

Dann haben Sie Zugriff auf alle Details des Bereitstellungsprozesses sowie auf die URL der temporären Live-App, die Sie später durch Ihre eigene Domain ersetzen können.

Erfolgreiche Bereitstellung für die Anwendung
Erfolgreiche Bereitstellung der Laravel10-Anwendung auf MyKinsta.

Deine Laravel 10-Anwendung ist jetzt live auf Kinsta, aber was ist, wenn du eine Änderung in der Produktion vornehmen musst? Was ist, wenn wir das href -Attribut eines Anchor-Tags ändern möchten? Da wir die Funktion Automatic Deployment on Commit aktiviert haben, erkennt MyKinsta alle Änderungen, die wir am bereitgestellten Zweig vornehmen, und aktualisiert die Live-App automatisch entsprechend.

7. Verbinden Sie Laravel 10 mit der MySQL-Datenbank

Nachdem wir unsere Laravel 10-Anwendung bereitgestellt haben, können wir mühelos eine Datenbank erstellen und sie mit unserer Anwendung verknüpfen. Sie müssen lediglich im Navigationsmenü auf der linken Seite auf Anwendungen klicken, dann auf Dienst hinzufügen und Datenbank auswählen.

Hinzufügen einer neuen Datenbank zu MyKinsta
Screenshot zum Hinzufügen einer neuen Datenbank zu MyKinsta.

Nachdem Sie alle Felder ausgefüllt haben, klicken Sie auf Datenbank erstellen . Dadurch wird eine neue Datenbank eingerichtet, die für interne und externe Verbindungen bereit ist. In unserem Szenario benötigen wir eine interne Verbindung zu dem von uns bereitgestellten Laravel 10-Projekt.

Klicken Sie dazu im Abschnitt Interne Verbindungen auf Anwendung hinzufügen und wählen Sie Ihre Anwendung aus. Du kannst das Kontrollkästchen Umgebungsvariablen zur Anwendung hinzufügen markieren und MyKinsta füllt alle .env Variablen aus, die deine Anwendung benötigt.

Verbinden der Datenbank mit der Laravel 10-App
Screenshot zum Verbinden der Datenbank mit der Laravel 10-Anwendung.

Damit wird Ihre Laravel 10-Anwendung bereitgestellt und mit einer Datenbank verbunden.

Wie man zu Laravel 10 beiträgt

Obwohl Laravel von einem Kernteam gepflegt wird, wird es von über 3.000 freiwilligen Mitwirkenden aktiv weiterentwickelt.

Möchten Sie einer dieser Mitwirkenden sein und die Zukunft von Laravel mitgestalten? Wenn Sie mit Ja geantwortet haben, könnten Sie Entwicklern auf der ganzen Welt helfen, indem Sie eine neue Funktion hinzufügen, einen Fehler beheben oder sogar einen verwirrenden Teil der Dokumentation umschreiben.

Um zu Laravel 10 beizutragen, müssen Sie Folgendes tun:

  1. Gehen Sie zum GitHub-Repository von Laravel und sehen Sie sich die Pull-Requests an, die im Titel mit [10.x] sind. Dadurch erhalten Sie ein klares Bild aller Pull-Requests für Laravel 10. Wenn einer der PRs den von Ihnen beabsichtigten Beitrag anspricht, prüfen Sie, ob Sie ihn verbessern können.
  2. Wenn Ihr geplanter Beitrag noch nicht von jemand anderem angesprochen wurde, können Sie selbst eine PR erstellen.
  3. Nicht alles ist es wert, der Codebasis des Frameworks hinzugefügt zu werden. Streben Sie daher danach, nur Verbesserungen zu implementieren, die in Zukunft einfach zu warten sind und der großen Mehrheit der Laravel-Community helfen werden.
  4. Stellen Sie sicher, dass Sie die Beitragsrichtlinien von Laravel einhalten, um eine bessere Chance zu haben, dass Ihre Änderungen mit dem Framework zusammengeführt werden.

Ein weiterer Grund, Laravel 10 zu lieben, ist, dass es Ihnen ermöglicht, Geld für Ihre Beiträge mit Fehlerjagden zu gewinnen! Die schauen wir uns als nächstes an.

Laravel 10 Bug Hunt-Wettbewerb

Laravel 10 Fehlersuche-Wettbewerb
Laravel 10 Fehlersuche-Wettbewerb.

Laravel 10 hat einen ausgezeichneten Wettbewerb angekündigt, bei dem ein zufälliger Teilnehmer die Chance hat, 1.000 US-Dollar zu gewinnen.

Dies wird der erste Wettbewerb dieser Art in der Geschichte von Laravel sein. Es wurde entwickelt, um die Community zu ermutigen, versteckte Fehler in Laravel 10 zu finden und zu patchen.

Die Regeln sind einfach:

  • Nur PRs, die an den 10.x -Zweig des laravel/framework -Repositorys gesendet werden, sind teilnahmeberechtigt.
  • Es werden nur „echte“ Fehlerbehebungen berücksichtigt. Neue Funktionen, Refactoring und Tippfehlerkorrekturen werden nicht berücksichtigt.
  • Jede Fehlerbehebung muss durch einen Test unterstützt werden.
  • Akzeptierte Fehlerbehebungen werden auf GitHub gekennzeichnet und am Ende des Wettbewerbs wird ein zufälliger Gewinner bekannt gegeben.

Der Wettbewerb endet, wenn die erste stabile Version von Laravel 10 veröffentlicht wird. Alle Pull Requests, die zu diesem Zeitpunkt noch ausstehen oder nach der Veröffentlichung von Laravel 10 eingereicht werden, sind nicht berechtigt.

Zusammenfassung

Das ist es nicht für diesen Artikel! Bis zum Veröffentlichungsdatum wird es noch weitere Änderungen geben. Aber im Moment scheint Laravel 10 äußerst vielversprechend zu sein, und wir freuen uns, alle Geschenke zu behandeln, die es der PHP-Welt bringt.

Wenn Sie in der Zwischenzeit nach weiteren Möglichkeiten suchen, die Leistung Ihrer Laravel-App zu verbessern, sollten Sie in Betracht ziehen, zu einem Premium-Hosting-Anbieter zu wechseln. Die Anwendungshosting-Lösungen von Kinsta gehören zu den schnellsten, sichersten und am einfachsten zu verwendenden in der Branche, und sie wurden speziell für Entwickler entwickelt und bieten Produktionsoptimierung und 24/7-Expertenunterstützung durch unsere eigenen erfahrenen Entwickler.