Co nowego w Laravel 10: szczegółowe omówienie najnowszych aktualizacji i funkcji

Opublikowany: 2023-01-25

Czy po ponad dekadzie od wprowadzenia niezwykle popularnego frameworka Laravel zastanawiałeś się kiedyś: „Co jeszcze Laravel może zaoferować programistom PHP?”

Biorąc pod uwagę, jak bardzo już uprościło to tworzenie PHP zarówno dla początkujących, jak i profesjonalnych programistów, niektórzy mogą nawet twierdzić, że zepsuło to programistom przekonanie, że PHP jest najłatwiejszym językiem programowania.

Czy Laravel ma jeszcze więcej niespodzianek dla programistów Laravel? A może wyczerpał wszystkie możliwe sposoby wspierania programistów PHP?

Cóż, przynajmniej wiemy, że Laravel 10 ma wiele do zaoferowania. To właśnie odkryjemy w tym artykule, zabierając Cię w podróż po nowych funkcjach Laravel 10, poprawkach oraz świeżo wycofanych metodach i pakietach.

Harmonogram wydań Laravela

Podstawowy zespół Laravel wydawał rocznie dwie główne wersje — jedną co sześć miesięcy.

Jednak cykl wydawniczy został zmieniony, gdy Taylor Otwell, twórca Laravela, ogłosił, że co roku będzie wydawana jedna główna wersja. Umożliwiło to głównemu zespołowi i społeczności poświęcenie większej ilości czasu i wysiłku konkretnej wersji frameworka oraz wprowadzenie nowych, zaawansowanych funkcji bez wprowadzania istotnych zmian.

Wraz z wydaniem Laravel 9 8 lutego 2022 r., przewidywany harmonogram wydań jest następujący:

  • Laravel 10 : 7 lutego 2023 r
  • Laravel 11 : 6 lutego 2024 r

Ponadto, zgodnie z polityką wsparcia, poprawki błędów są oferowane przez 18 miesięcy, a aktualizacje bezpieczeństwa przez dwa lata dla wszystkich wersji Laravel.

Poniżej przedstawiono oczekiwane poprawki błędów i harmonogram aktualizacji zabezpieczeń:

  • Laravel 9 będzie otrzymywać poprawki błędów do 8 sierpnia 2023 r., a poprawki bezpieczeństwa do 6 lutego 2024 r.
  • Laravel 10 otrzyma poprawki błędów do 6 sierpnia 2024 r., a poprawki bezpieczeństwa do 4 lutego 2025 r.
  • Oczekuje się, że Laravel 11 otrzyma poprawki błędów do 4 sierpnia 2025 r., a poprawki bezpieczeństwa do 2 lutego 2026 r.

Czy powinieneś uaktualnić do Laravel 10?

Należy pamiętać, że nie zawsze musimy aktualizować wersję Laravel naszej aplikacji do najnowszej wersji, gdy tylko pojawi się nowa wersja.

Laravel to framework typu open source, co oznacza, że ​​za każdym razem, gdy instalujemy nową instancję Laravel na naszej maszynie, jesteśmy właścicielami bazy kodu frameworka. Oznacza to, że nawet jeśli wersja ramowa, z której korzysta nasza aplikacja, nie jest już obsługiwana, aplikacja będzie nadal działać; będziemy musieli sami to utrzymać.

W rezultacie powszechnie sugeruje się, aby stabilność aplikacji była traktowana priorytetowo w stosunku do aktualizacji struktury.

Krótko mówiąc, powinieneś rozważyć aktualizację do Laravel 10, gdy:

  • Aplikacja jest stabilna w aktualnej wersji i działa bez problemów.
  • Nowa wersja albo dodaje funkcję wymaganą przez aplikację, albo rozwiązuje problem występujący w aplikacji.
  • Aplikacja zostanie dobrze przetestowana, zanim zmiany uaktualnienia zostaną wprowadzone do produkcji.

Laravel 10 gorących aktualizacji

Logo Laravela 10
Obraz logo Laravel 10.

Jak już wiesz, Laravel 10 nie został jeszcze wydany. Będziemy jednak aktualizować ten artykuł o wszystkie świeże informacje o oczekiwanej wersji. Dlatego zalecamy dodanie tej strony do zakładek i odwiedzanie jej od czasu do czasu.

Nowe funkcje i aktualizacje w Laravel 10

Nie ma wątpliwości, że najbardziej ekscytującą częścią każdej nowej wersji jest dodanie nowych funkcji. Bez zbędnych ceregieli zacznijmy od przyjrzenia się nowym funkcjom i aktualizacjom Laravel 10.

1. PHP 8.1: Serce Laravela 10

PHP 8.1 to minimalna wymagana wersja PHP w Laravel 10. Na podstawie porównania między gałęzią Laravel 9 a główną gałęzią frameworka na GitHub, oczekuje się, że niektóre funkcje PHP 8.1, takie jak właściwości tylko do readonly i array_is_list , zostaną wprowadzone w Laravel 10 .

2. Wsparcie dla PHP 8.2

PHP 8.2 zostało wydane 8 grudnia 2022 roku, zaledwie dwa miesiące przed datą wydania Laravel 10. Nie powinno to jednak powstrzymywać Cię przed korzystaniem z funkcji PHP 8.2, ponieważ bez robienia niczego dodatkowego Laravel 10 będzie gotowy na PHP 8.2.

W rzeczywistości cały ekosystem Laravel, w tym Forge, Vapor i Envoyer, obsługuje PHP 8.2, a nawet możesz używać PHP 8.2 z Laravel 9. Jakie to fajne?!

3. Aktualizacja zestawów startowych Laravel

Laravel Breeze i Jetstream są gotowe do użycia Laravel 10 po jego wydaniu. Ponadto są już zaktualizowane do Inertiajs 1, a niespodzianką dla JetStream jest pełna obsługa trybu ciemnego.

4. Aktualizacja wersji Predis

Predis to solidny klient Redis dla PHP, który może pomóc w maksymalnym wykorzystaniu buforowania, aby zapewnić fantastyczne wrażenia użytkownika. Laravel wcześniej obsługiwał obie wersje 1 i 2, ale od Laravel 10 framework nie obsługuje już Predis 1.

Chociaż dokumentacja Laravel wymienia Predis jako pakiet do interakcji z Redis, możesz także użyć oficjalnego rozszerzenia PHP. To rozszerzenie zapewnia interfejs API do komunikacji z serwerami Redis.

5. Deklaracje typu natywnego

Laravel używał DocBlocks w swoim kodzie szkieletowym, aby wyjaśnić, co robi fragment kodu i jakiego rodzaju parametrów lub odpowiedzi się spodziewać. Jednak dzięki natywnym deklaracjom typu w Laravel 10 to się zmieni.

Najlepszym sposobem wyjaśnienia tej zmiany jest prosty przykład. Zamiast funkcji wyglądającej tak:

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

…zamiast tego będzie wyglądać tak:

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

Ta zmiana ma na celu wyłącznie korzyści dla deweloperów, ponieważ IDE będą znały kształt oczekiwanego parametru i odpowiedzi. Zapewni lepszą przejrzystość typów, gdy nie będzie to możliwe dzięki natywnym typom PHP. W związku z tym pomoże edytorom kodu lepiej działać dzięki funkcjom automatycznego uzupełniania.

6. Wszystkie reguły walidacji wywoływane domyślnie

Jeśli miałbyś stworzyć regułę walidacji, którą można wywołać w Laravel 9, musiałbyś dodać flagę --invokable po poleceniu artisan. Nie jest to już konieczne, ponieważ wszystkie reguły Laravel 10 są domyślnie wywoływane. Możesz więc uruchomić następujące polecenie, aby utworzyć nową regułę, którą można wywołać w Laravel 10:

 php artisan make:rule CustomRule

7. Natywna obsługa modyfikacji kolumn

Próbując wyeliminować potrzebę pakietu doctrine/dbal podczas używania change() do modyfikowania kolumn, nowa funkcja pojawi się w Laravel 10. Ta funkcja pozwoli programistom na użycie metody change() i modyfikowanie kolumn w MySQL, PostgreSQL i SQL Server bez potrzeby stosowania dodatkowych pakietów. Jest to znacząca i ryzykowna zmiana, ale uważamy, że warto, ponieważ eliminuje konieczność posiadania dodatkowego pakietu.

Aby lepiej zrozumieć nową funkcję, zobacz poniższy przykład:

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

Teraz zakładamy, że mamy kolumnę dla user_balance i chcemy zmienić jej typ. Począwszy od Laravel 10, możemy po prostu to zrobić:

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

Powyższy kod z powodzeniem zmieni typ kolumny, ale także usunie atrybuty UNSIGNED , DEFAULT i COMMENT . Dlatego ważne jest, aby pamiętać o dodaniu wszystkich atrybutów podczas zmiany typu kolumny:

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

W przypadku, gdy masz wiele połączeń z bazą danych i już zainstalowałeś doctrine/dbal , zaleca się wywołanie metody Schema::useNativeSchemaOperationsIfPossible() w ramach metody boot w App\Providers\AppServiceProvider , aby móc używać natywnych operacji na schemacie i używać natywne operacje przed poleganiem na pakiecie (na przykład SQLite jeszcze tego nie obsługuje):

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

8. Pobieranie natywne typu kolumny

Kolejną godną uwagi cechą Laravela 10 jest możliwość korzystania z metody Schema::getColumnType bez konieczności polegania na pakiecie doctrine/dbal . Obecnie używamy Schema::getColumnType z doctrine/dbal , aby uzyskać typ kolumny. doctrine/dbal odwzorowuje każdy natywny typ kolumny na jego odpowiednik typu doctrine/dbal i nie obsługuje wielu typów kolumn używanych przez Laravel w różnych bazach danych.

Z drugiej strony w Laravel 10 nowa metoda Schema::getColumnType zwróci rzeczywisty typ kolumny, a nie jej odpowiednik doctrine/dbal . Umożliwia także pisanie testów integracyjnych dla nowej funkcji modyfikowania kolumn natywnych. Możesz użyć tej funkcji, aby uzyskać nazwę typu danych lub całą definicję typu określonej kolumny:

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

9. Szybszy algorytm mieszania

xxHash to algorytm Hash, który jest niesamowicie szybki. Charakteryzuje się dużą losowością i rozproszeniem danych wyjściowych, a także wyjątkowością w celu zmniejszenia kolizji. Ponieważ PHP 8.1 zapewnia wsparcie dla xxh128, a Laravel 10 działa na PHP 8.1, posiadanie tak niezawodnego algorytmu mieszającego w Laravel 10 jest idealne.

Warto wspomnieć, że Taylor podkreślił podczas przeglądu tej zmiany, że niektóre pakiety stron trzecich mogą polegać na nazwach plików w formacie dokładnie takim, jak skrót SHA-1, czyli algorytm używany przez Laravel do haszowania. Dlatego jeśli planujesz aktualizację do Laravel 10, rozsądnie byłoby dokładnie to sprawdzić we wszelkich pakietach innych firm, których używasz w swojej aplikacji.

10. Obsługa metody WhereExists() w narzędziu Eloquent Builder

Obecnie użycie whereExists() wymaga skonfigurowania zagnieżdżonego zapytania przy użyciu domknięcia. Na szczęście w Laravel 10 możliwe jest teraz włączenie Eloquent Builder jako zagnieżdżonego zapytania. Umożliwia korzystanie z niestandardowych metod konstruktora, zakresów modelu i tak dalej.

Na przykład zwykle robimy to, jeśli chcemy użyć whereExists() :

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

Z Laravel 10 możemy zamiast tego zrobić to:

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

11. Chętna optymalizacja ładowania

Jedną z interesujących nowych funkcji Laravel 10 jest szybka optymalizacja ładowania, gdy nie ma żadnych kluczy do załadowania. Ta zmiana jest bardziej poprawką niż funkcją, ponieważ rozwiązuje aktualny problem, w którym relacje szybkiego ładowania powodują wykonanie dużej liczby niemożliwych zapytań.

Obecnie, gdy chętnie ładujemy relacje, które nie mają żadnych kluczy do załadowania, Laravel nadal wykona zapytanie podobne do tego select \* from `table_name` where 0 = 1 . Jednak nowa aktualizacja Laravel 10 w pierwszej kolejności sprawdza, czy są dostępne jakieś klucze, a jeśli nie, zapewnia pustą kolekcję, eliminując potrzebę niepotrzebnych zapytań do bazy danych.

Przestarzałe metody i pakiety w Laravel 10

Laravel 10 żegna się z PHP 8.0

Framework Laravel zrezygnuje z obsługi PHP 8.0 w Laravel 10. Dlatego jeśli planujesz uaktualnić swoją aplikację do Laravel 10, musisz najpierw zaktualizować wersję PHP do PHP 8.1 lub PHP 8.2.

Usuwanie przestarzałych metod

Widzimy, że główny zespół Laravel usuwa przestarzałe metody w Laravel 9 z gałęzi Laravel 10. Przewidujemy, że zespół zaktualizuje przewodnik aktualizacji dokumentacji, aby uwzględnić wszystkie przestarzałe metody i pakiety, gdy tylko Laravel 10 zostanie wydany.

Jeśli zamierzasz przeprowadzić migrację bieżącego projektu do Laravel 10, każdy kod, który używa przestarzałej metody, powinien zostać ponownie napisany w nowym podejściu, aby osiągnąć ten sam wynik.

Oto lista wszystkich wycofań i usunięć, które znaleźliśmy podczas porównywania Laravel 9 z gałęzią główną:

  • Metoda Route::home (przestarzała w Laravel 9)
  • Przestarzałe funkcje i metody dotyczące dispatchNow . Ma to na celu zachęcenie programistów do korzystania z narzędzia dispatchSync , które jest jedynym obsługiwanym sposobem natychmiastowej wysyłki.
  • getBaseQuery , ponieważ ma odpowiednik toBase
  • Klasa MaintenanceModeException , która nie była już używana
  • Cecha MocksApplicationServices
  • Metoda Mail::failures fałszywej poczty
  • Przestarzała właściwość $dates , zamiast tego zaleca się użycie $casts
  • Metoda assertTimesSent() .
  • Usunięto wsparcie dla Predis 1 i doctrine/dbal 2
  • Wszystkie powiązane wycofania w doctrine/dbal odkąd Laravel porzucił obsługę wersji 2

Jak zainstalować Laravela 10

Laravel 10 jest już dostępny, możesz zabrać go na przejażdżkę i przetestować jego funkcje. Flaga –dev w instalatorze Laravel instaluje gałąź master z repozytorium laravel/laravel . Wszystko, co musisz zrobić, to uruchomić to polecenie w swoim terminalu:

 laravel new example-kinsta-app --dev

Lub, jeśli wolisz używać Composera:

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

Aby lepiej zrozumieć polecenie Composer, oto krótkie wyjaśnienie:

  • laravel/laravel : Pakiet do instalacji Laravel
  • example-kinsta-app : Nowy katalog dla twojego nowego projektu (można go zmienić)
  • dev-master : Następna wersja Laravela (w tym przypadku Laravel 10)

Po zainstalowaniu Laravel 10 możesz potwierdzić wersję, przechodząc do nowego katalogu example-kinsta-app i uruchamiając polecenie artisan:

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

Jak zaktualizować projekt do Laravel 10

Czy kusi Cię aktualizacja do Laravel 10? Główny zespół Laravel ciężko pracuje nad dokumentacją, aby zapewnić bezproblemowy i prosty przewodnik po aktualizacji, uwzględniający każdą możliwą istotną zmianę. Zachęcamy do zapoznania się z przewodnikiem aktualizacji Laravel 10, ponieważ niektóre informacje na temat procesu aktualizacji są już dostępne.

Powinieneś także mieć oko na Laravel Shift po wydaniu Laravel 10. Oferuje proste i zautomatyzowane podejście do aktualizacji wersji Laravel.

Oprócz dokumentacji Laravel i Laravel Shift, my w Kinsta opublikujemy obszerny przewodnik po aktualizacji z przykładami z prawdziwego świata. Nie zapomnij więc dodać tej strony do zakładek i wrócić do niej po wydaniu Laravel 10.

Jak wdrożyć projekty Laravel 10

Wdrażanie Laravel 10 nie powinno tak bardzo różnić się od wdrażania projektu Laravel 9. Oto, czego oczekujemy od wymagań serwera:

  • PHP >= 8.1
  • Rozszerzenie PHP BCMath
  • Rozszerzenie Ctype PHP
  • cURL PHP Rozszerzenie
  • DOM PHP rozszerzenie
  • Informacje o plikach Rozszerzenie PHP
  • Rozszerzenie JSON PHP
  • Rozszerzenie PHP Mbstring
  • Rozszerzenie PHP OpenSSL
  • Rozszerzenie PHP PCRE
  • Rozszerzenie PDO PHP
  • Rozszerzenie PHP Tokenizera
  • Rozszerzenie XML PHP

Możesz wdrożyć i hostować swój projekt Laravel 10 na Kinsta w ciągu kilku minut, ponieważ Laravel jest jednym z długiej listy obsługiwanych platform dla hostowanych aplikacji.

Wdrażanie Laravel 10 na Kinsta: przewodnik krok po kroku

Hosting i wdrażanie aplikacji na Kinsta ma kilka zalet, w tym brak konieczności zawracania sobie głowy konfiguracją wdrożenia.

Kinsta zapewnia przyjazne dla użytkownika, ale potężne narzędzie do wdrażania aplikacji, łączenia się z bazami danych i monitorowania wydajności na żywo. To narzędzie jest znane jako MyKinsta, aw tej sekcji przeprowadzimy Cię przez kroki wdrażania aplikacji Laravel 10 za jego pomocą.

1. Aplikacja Laravel 10

Strona główna aplikacji Laravel 10
Strona główna aplikacji Laravel 10 wdrożonej na Kinsta.

Zakładając, że masz lokalnie aplikację Laravel 10, musimy upewnić się, że ma ona dostępne repozytorium github. Użyjemy tego repozytorium do późniejszego wdrożenia aplikacji.

Możesz umieścić plik .htaccess w katalogu głównym swojej aplikacji, który zawiera poniższe elementy:

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

W przypadku Laravel przekierowuje to wszystkie żądania do public/index.php. Jednak w razie potrzeby możesz zaktualizować to polecenie podczas dodawania aplikacji ( krok Konfigurowanie procesów ) lub po wdrożeniu na stronie Procesy aplikacji. Możesz użyć:

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

2. Zaloguj się do MyKinsta

Strona logowania MyKinsta
Zrzut ekranu strony logowania MyKinsta.

Przejdź na stronę logowania MyKinsta i wprowadź swój adres e-mail oraz hasło. Jeśli nie masz jeszcze konta, możesz zarejestrować nowe konto i otrzymać 20 USD zniżki na pierwszy miesiąc subskrypcji dowolnego planu taryfowego.

3. Autoryzacja Kinsta na GitHub

Po zalogowaniu zauważysz, że pulpit nawigacyjny ma 3 opcje tworzenia witryny WordPress, tworzenia aplikacji lub tworzenia bazy danych. Naciśniemy przycisk Connect GitHub , aby zintegrować się z GitHub.

Pulpit nawigacyjny MyKinsta
Zrzut ekranu pulpitu nawigacyjnego MyKinsta.

Następnie kliknij przycisk Kontynuuj z GitHub . Jeśli nie jesteś jeszcze zalogowany do GitHub, zostanie wyświetlona opcja logowania. Następnie możesz autoryzować aplikację Kinsta GitHub, aby uzyskać dostęp do Twojego konta GitHub, wybierając Autoryzuj Kinsta .

Na koniec GitHub przekieruje twoją przeglądarkę do MyKinsta, aby kontynuować konfigurację aplikacji.

Łączenie MyKinsta z GitHubem
Zrzut ekranu przedstawiający połączenie MyKinsta z GitHub.

Po nawiązaniu połączenia z usługą GitHub zostanie wyświetlone okno podręczne/modalne Dodaj aplikację , które zawiera menu rozwijane umożliwiające wybranie repozytorium GitHub. Kliknij pole repozytorium GitHub i wybierz z listy rozwijanej opcję Edytuj uprawnienia GitHub .

Dodanie aplikacji do MyKinsta
Zrzut ekranu przedstawiający dodanie aplikacji do MyKinsta.

Spowoduje to otwarcie nowej karty w przeglądarce na stronie GitHub, na której możesz wybrać, do których danych Kinsta będzie mieć dostęp. Zamiast umożliwiać dostęp do wszystkich repozytoriów, zastanów się nad wyborem tylko tego, z którego ma korzystać Kinsta. Kliknij Tylko wybierz repozytoria i wybierz repozytorium, które chcesz wdrożyć.

Instalowanie MyKinsta na GitHub
Zrzut ekranu instalacji MyKinsta na GitHub.

Następnie kliknij Instaluj i gotowe!

Gdy wrócisz do MyKinsta i klikniesz pole repozytorium GitHub , autoryzowane repozytorium powinno być widoczne. Dodatkowo możesz zaznaczyć pole wyboru Automatyczne wdrażanie przy zatwierdzeniu , aby włączyć funkcję MyKinsta do automatycznego wdrażania aplikacji, gdy tylko wprowadzisz jakiekolwiek zmiany w repozytorium GitHub.

Wybieranie gałęzi repozytorium dla MyKinsta
Zrzut ekranu przedstawiający wybór gałęzi repozytorium dla MyKinsta.

4. Dodaj podstawowe informacje o aplikacji

Możesz teraz nadać aplikacji nazwę, która będzie używana tylko na pulpicie nawigacyjnym i wybrać spośród 25 lokalizacji centrów danych, co pozwoli umieścić aplikację w lokalizacji geograficznej najbliższej Twoim użytkownikom. Jeśli potrzebujesz pomocy w określeniu, które centrum danych jest idealne dla Twojej aplikacji, zapoznaj się z naszym przewodnikiem dotyczącym wyboru właściwej lokalizacji centrum danych.

Dodanie podstawowych informacji o aplikacji
Zrzut ekranu przedstawiający dodawanie podstawowych informacji o aplikacji.

5. Dodaj zmienne środowiskowe

Poniższa sekcja dotyczy dodawania zmiennych środowiskowych, a najważniejszą zmienną jest APP_KEY .

Jeśli nie masz jeszcze klucza w pliku .env , możesz go wygenerować za pomocą internetowego generatora kluczy Laravel. Następnie wstaw APP_KEY w polu Klucz 1 i wstaw wygenerowany klucz aplikacji w polu Wartość 1 .

Na koniec wybierz opcję Dostępne w czasie wykonywania i Dostępne podczas procesu kompilacji .

Dodawanie zmiennych env do aplikacji MyKinsta
Zrzut ekranu dodawania zmiennych env do aplikacji MyKinsta.

5. Skonfiguruj środowisko kompilacji

Magiczne jest to, że nie musisz niczego konfigurować! Możesz kontynuować, klikając przycisk Kontynuuj i voila! Konfiguracja środowiska zbudowanego została zakończona. Jeśli jednak chcesz ulepszyć zasoby kompilacji, aby zapewnić szybsze budowanie, możesz wybrać preferowany wybór z pola Zasoby kompilacji .

Pole Ścieżka budowania jest opcjonalne — możesz pozostawić je puste, a MyKinsta użyje folderu głównego.

Środowisko budowania aplikacji MyKinsta
Konfigurowanie środowiska kompilacji aplikacji.

6. Skonfiguruj procesy i metodę płatności

W sekcji Zasoby wypełnij każde pole następującymi informacjami:

  • Nazwa procesu: nazwa wyświetlana na liście procesów aplikacji.
  • Typ procesu: wybierz ostrożnie, ponieważ po ustawieniu nie można go zmienić. Możesz jednak dodawać i zmieniać dodatkowe procesy, takie jak zadanie w tle, na stronie Procesy aplikacji po wdrożeniu.
  • Polecenie Start: Polecenie „Start” dla twojego procesu (nie wymagane).
  • Rozmiar kapsułki: pojemność kapsułki, której oczekujesz, że będziesz potrzebować do swojego procesu.
  • Liczba instancji: liczba instancji dla Twojego procesu (maks. 50).

Pamiętaj, że możesz po prostu kliknąć Kontynuuj bez wypełniania pola polecenia Start , ponieważ Kinsta automatycznie wykrywa wymagane polecenie podczas pierwszego wdrożenia.

Proces instalacji aplikacji MyKinsta
Zrzut ekranu przedstawiający konfigurację procesu aplikacji.

W ostatnim kroku przejrzyj miesięczne koszty użytkowania obliczone dla Twojej aplikacji, a następnie potwierdź metodę płatności. Po zakończeniu kliknij przycisk Potwierdź metodę płatności .

Potwierdzanie szczegółów płatności dla MyKinsta
Zrzut ekranu potwierdzający szczegóły płatności.

I jesteś skończony! Kinsta wykona całą pracę w tle, aby obsłużyć Twoją aplikację.

Ładowanie procesu wdrażania aplikacji
Zrzut ekranu przedstawiający ładowanie procesu wdrażania aplikacji.

Uzyskasz wtedy dostęp do wszystkich szczegółów procesu wdrażania, a także do tymczasowego adresu URL aktywnej aplikacji, który możesz później zastąpić własną domeną.

Pomyślne wdrożenie aplikacji
Pomyślne wdrożenie aplikacji Laravel10 na MyKinsta.

Twoja aplikacja Laravel 10 jest już dostępna na Kinsta, ale co, jeśli musisz wprowadzić zmiany w produkcji? Co jeśli chcemy zmienić atrybut href tagu kotwicy? Ponieważ aktywowaliśmy funkcję automatycznego wdrażania przy zatwierdzeniu, MyKinsta wykryje wszelkie zmiany, które wprowadzamy we wdrożonym oddziale, i automatycznie odpowiednio zaktualizuje aplikację na żywo.

7. Połącz Laravel 10 z bazą danych MySQL

Teraz, gdy wdrożyliśmy naszą aplikację Laravel 10, możemy bez wysiłku zbudować bazę danych i połączyć ją z naszą aplikacją. Wszystko, co musisz zrobić, to kliknąć Aplikacje w menu nawigacyjnym po lewej stronie, następnie Dodaj usługę i wybrać Baza danych .

Dodanie nowej bazy danych do MyKinsta
Zrzut ekranu dodawania nowej bazy danych do MyKinsta.

Po wypełnieniu wszystkich pól kliknij Utwórz bazę danych . Spowoduje to utworzenie nowej bazy danych gotowej do połączeń wewnętrznych i zewnętrznych. W naszym scenariuszu wymagamy wewnętrznego połączenia z wdrożonym przez nas projektem Laravel 10.

Aby to osiągnąć, wystarczy kliknąć Dodaj aplikację w sekcji Połączenia wewnętrzne i wybrać swoją aplikację. Możesz zaznaczyć pole wyboru Dodaj zmienne środowiskowe do aplikacji, a MyKinsta wypełni wszystkie zmienne .env , których potrzebuje Twoja aplikacja.

Łączenie bazy danych z aplikacją Laravel 10
Zrzut ekranu przedstawiający połączenie bazy danych z aplikacją Laravel 10.

Dzięki temu Twoja aplikacja Laravel 10 zostanie wdrożona i połączona z bazą danych.

Jak przyczynić się do Laravel 10

Chociaż Laravel jest utrzymywany przez główny zespół, jest aktywnie rozwijany przez ponad 3000 współpracowników-wolontariuszy.

Czy chcesz być jednym z tych współpracowników i pomóc kształtować przyszłość Laravel? Jeśli odpowiedziałeś twierdząco, możesz pomóc programistom z całego świata, dodając nową funkcję, naprawiając błąd, a nawet przepisując niejasną część dokumentacji.

Aby przyczynić się do Laravel 10, oto co musisz zrobić:

  1. Udaj się do repozytorium GitHub Laravela i sprawdź pull requesty oznaczone jako [10.x] w tytule. Zapewni to jasny obraz wszystkich żądań ściągnięcia dla Laravel 10. Jeśli jeden z PR dotyczy wkładu, który zamierzałeś wnieść, sprawdź, czy możesz go poprawić.
  2. Jeśli Twoja planowana wpłata nie została jeszcze skierowana przez kogoś innego, możesz samodzielnie utworzyć PR.
  3. Nie wszystko warto dodawać do bazy kodu frameworka. Dlatego staraj się wdrażać tylko te usprawnienia, które będą łatwe w utrzymaniu w przyszłości i pomogą zdecydowanej większości społeczności Laravel.
  4. Upewnij się, że przestrzegasz wytycznych dotyczących wkładu Laravel, aby zwiększyć szansę na połączenie zmian z frameworkiem.

Innym powodem, dla którego warto pokochać Laravel 10, jest to, że pozwala wygrywać pieniądze za wkład w polowanie na błędy! Przyjrzymy się następnym.

Laravel 10 Konkurs polowania na błędy

Konkurs polowania na błędy Laravel 10
Konkurs polowania na błędy w Laravel 10.

Laravel 10 ogłosił świetny konkurs, w którym losowy uczestnik ma szansę wygrać 1000 $.

Będzie to pierwszy tego typu konkurs w historii Laravela. Został zaprojektowany, aby zachęcić społeczność do wyszukiwania i łatania ukrytych błędów w Laravel 10.

Zasady są proste:

  • Kwalifikują się tylko PR przesłane do gałęzi 10.x repozytorium laravel/framework .
  • Rozważane będą tylko „prawdziwe” poprawki błędów. Nowe funkcje, refaktoryzacja i poprawki literówek nie są brane pod uwagę.
  • Każda poprawka błędu musi być poparta testem.
  • Zaakceptowane poprawki błędów zostaną oznaczone na GitHub, a losowy zwycięzca zostanie ogłoszony pod koniec konkursu.

Konkurs zakończy się wraz z wydaniem pierwszej stabilnej wersji Laravel 10. Wszelkie żądania ściągnięcia, które do tego czasu byłyby nadal oczekujące lub przesłane po wydaniu Laravel 10, nie będą się kwalifikować.

Streszczenie

To nie jest temat na ten artykuł! Do daty premiery będzie więcej zmian. Ale na razie Laravel 10 wydaje się być niezwykle obiecujący i cieszymy się, że możemy przedstawić wszystkie dary, które wnosi do świata PHP.

W międzyczasie, jeśli szukasz więcej sposobów na poprawę wydajności swojej aplikacji Laravel, możesz rozważyć zmianę dostawcy hostingu premium. Rozwiązania Kinsta Application Hosting należą do najszybszych, najbezpieczniejszych i najłatwiejszych w użyciu w branży i zostały specjalnie zaprojektowane z myślą o programistach, oferując usprawnienie produkcji i całodobowe wsparcie ekspertów od naszych doświadczonych programistów.