Что нового в Laravel 10: подробный обзор последних обновлений и функций
Опубликовано: 2023-01-25Спустя более десяти лет с момента появления чрезвычайно популярной среды Laravel вы когда-нибудь задумывались: «Что еще Laravel может предложить PHP-разработчикам?»
Учитывая, насколько он уже упростил разработку PHP как для начинающих, так и для профессиональных разработчиков, некоторые могут даже утверждать, что он избаловал разработчиков, заставив их поверить в то, что PHP — самый простой язык программирования.
Итак, есть ли у Laravel еще сюрпризы для разработчиков Laravel? Или он исчерпал все возможные средства для поддержки PHP-разработчиков?
Ну, по крайней мере, мы знаем, что Laravel 10 может многое предложить. Это то, что мы раскроем в этой статье, когда познакомим вас с новыми функциями, исправлениями и недавно устаревшими методами и пакетами Laravel 10.
График выпуска Laravel
Основная команда Laravel выпускала две основные версии в год — по одной каждые шесть месяцев.
Однако цикл выпуска был изменен, когда Тейлор Отвелл, создатель Laravel, объявил, что теперь каждый год будет выпускаться одна основная версия. Это позволило основной команде и сообществу посвятить больше времени и усилий конкретной версии фреймворка и внедрить новые мощные функции, не внося серьезных изменений.
Поскольку Laravel 9 выпущен 8 февраля 2022 года, ожидаемый график выпуска выглядит следующим образом:
- Laravel 10 : 7 февраля 2023 г.
- Laravel 11 : 6 февраля 2024 г.
Кроме того, согласно политике поддержки, исправления ошибок предлагаются в течение 18 месяцев, а обновления безопасности — в течение двух лет для всех версий Laravel.
Ниже приведены ожидаемые исправления ошибок и расписание обновлений безопасности:
- Laravel 9 продолжит получать исправления ошибок до 8 августа 2023 года и исправления безопасности до 6 февраля 2024 года.
- Laravel 10 получит исправления ошибок до 6 августа 2024 года и исправления безопасности до 4 февраля 2025 года.
- Ожидается, что Laravel 11 получит исправления ошибок до 4 августа 2025 года и исправления безопасности до 2 февраля 2026 года.
Стоит ли вам переходить на Laravel 10?
Важно помнить, что нам не всегда нужно обновлять версию Laravel нашего приложения до последней версии, как только выходит новая версия.
Laravel — это фреймворк с открытым исходным кодом, что означает, что каждый раз, когда мы устанавливаем новый экземпляр Laravel на нашу машину, мы владеем кодовой базой фреймворка. Это означает, что даже если версия фреймворка, которую использует наше приложение, больше не поддерживается, приложение все равно будет работать; мы просто должны поддерживать его сами.
В результате широко распространено мнение, что стабильность приложений должна быть приоритетнее, чем обновления фреймворка.
Короче говоря, вам следует подумать об обновлении до Laravel 10, когда:
- Приложение стабильно с текущей версией и работает без проблем.
- Новая версия либо добавляет функцию, необходимую вашему приложению, либо устраняет проблему, с которой сталкивается ваше приложение.
- Приложение будет тщательно протестировано, прежде чем изменения обновления будут запущены в производство.
Горячие обновления Laravel 10
Как вы уже знаете, Laravel 10 еще не выпущен. Тем не менее, мы будем держать эту статью в курсе всей свежей информации о ожидаемом выпуске. Поэтому мы рекомендуем добавить эту страницу в закладки и время от времени возвращаться к ней.
Новые функции и обновления в Laravel 10
Нет никаких сомнений в том, что самая захватывающая часть любого нового релиза — это добавление новых функций. Итак, без лишних слов, давайте начнем с изучения новых функций и обновлений в Laravel 10.
1. PHP 8.1: сердце Laravel 10
PHP 8.1 — минимально необходимая версия PHP в Laravel 10. Основываясь на сравнении ветки Laravel 9 и основной ветки фреймворка на GitHub, ожидается, что некоторые функции PHP 8.1, такие как свойства array_is_list
readonly
будут представлены в Laravel 10. .
2. Поддержка PHP 8.2.
PHP 8.2 был выпущен 8 декабря 2022 года, всего за два месяца до даты выпуска Laravel 10. Тем не менее, это не должно мешать вам использовать возможности PHP 8.2, так как без каких-либо дополнительных действий Laravel 10 будет готов для PHP 8.2.
На самом деле, вся экосистема Laravel, включая Forge, Vapor и Envoyer, поддерживает PHP 8.2, и вы даже можете использовать PHP 8.2 с Laravel 9. Как это круто?!
3. Обновление стартовых наборов Laravel
Laravel Breeze и Jetstream готовы использовать Laravel 10 после его выпуска. Кроме того, они уже обновлены до Inertiajs 1, а JetStream неожиданно получит полную поддержку темного режима.
4. Обновление версии Predis
Predis — это надежный клиент Redis для PHP, который может помочь вам получить максимальную отдачу от кэширования, чтобы обеспечить фантастическое взаимодействие с пользователем. Раньше Laravel поддерживал обе версии — 1 и 2, но начиная с Laravel 10 фреймворк больше не поддерживает Predis 1.
Хотя в документации Laravel Predis упоминается как пакет для взаимодействия с Redis, вы также можете использовать официальное расширение PHP. Это расширение предоставляет API для связи с серверами Redis.
5. Нативные объявления типов
Раньше Laravel использовал DocBlocks в своем каркасном коде, чтобы прояснить, что делает часть кода и какие параметры или ответы следует ожидать. Однако благодаря нативным объявлениям типов в Laravel 10 это изменится.
Лучше всего объяснить это изменение на простом примере. Вместо функции, выглядящей так:
/** * Determine whether the user can create models. * * @param \{{ namespacedUserModel }} $user * @return \Illuminate\Auth\Access\Response|bool */ public function create({{ user }} $user) { // }
… вместо этого это будет выглядеть так:
/** * Determine whether the user can create models. */ public function create({{ user }} $user): bool { // }
Это изменение сделано исключительно для удобства разработчиков, поскольку IDE будет знать форму ожидаемого параметра и ответа. Это обеспечит лучшую четкость типов, когда это невозможно с помощью собственных типов PHP. Следовательно, это поможет редакторам кода лучше работать с функциями автозаполнения.
6. Все правила проверки, вызываемые по умолчанию
Если бы вам нужно было создать вызываемое правило проверки в Laravel 9, вам нужно было бы добавить флаг --invokable
после команды artisan. В этом больше нет необходимости, потому что все правила Laravel 10 вызываются по умолчанию. Итак, вы можете запустить следующую команду, чтобы создать новое вызываемое правило в Laravel 10:
php artisan make:rule CustomRule
7. Поддержка модификации собственных столбцов
В попытке устранить необходимость в пакете doctrine/dbal
при использовании change()
для изменения столбцов, в Laravel 10 появится новая функция. Эта функция позволит разработчикам использовать метод change()
и изменять столбцы в MySQL, PostgreSQL и SQL Server без дополнительных пакетов. Это серьезное и рискованное критическое изменение, но мы считаем, что оно того стоит, поскольку устраняет необходимость в дополнительном пакете.
Чтобы лучше понять новую функцию, см. пример ниже:
$table->integer('user_balance')->unsigned()->default(0)->comment('balance'); // `user_balance` is an integer, unsigned, defaults to '0', and column comment is 'balance'
Теперь мы предполагаем, что у нас есть столбец для user_balance
, и мы хотим изменить его тип. Начиная с Laravel 10 мы можем просто сделать это:
$table->bigInteger('user_balance')->change(); // This will change `user_balance` to bigInteger instead of just integer
Приведенный выше код успешно изменит тип столбца, но также UNSIGNED
, DEFAULT
и COMMENT
. Поэтому важно помнить о добавлении всех атрибутов при изменении типа столбца:
$table->bigInteger('user_balance')->unsigned()->default(0)->comment('balance')->change();
В случае, когда у вас есть несколько подключений к базе данных и вы уже установили doctrine/dbal
, рекомендуется вызывать метод Schema::useNativeSchemaOperationsIfPossible()
в методе boot
в App\Providers\AppServiceProvider
, чтобы иметь возможность использовать собственные операции схемы и использовать собственные операции, прежде чем полагаться на пакет (SQLite, например, еще не поддерживает это):
use IlluminateSupportFacadesSchema; class AppServiceProvider extends ServiceProvider { public function boot() { Schema::useNativeSchemaOperationsIfPossible(); } }
8. Собственное извлечение типа столбца
Еще одной примечательной особенностью Laravel 10 является возможность использовать метод Schema::getColumnType
без необходимости полагаться на пакет doctrine/dbal
. В настоящее время мы используем Schema::getColumnType
с doctrine/dbal
для получения типа столбца. doctrine/dbal
сопоставляет каждый родной тип столбца с эквивалентным ему типом doctrine/dbal
и не поддерживает многие типы столбцов, используемые Laravel в различных базах данных.
С другой стороны, в Laravel 10 новый метод Schema::getColumnType
будет возвращать фактический тип столбца, а не его эквивалент в doctrine/dbal
. Это также позволяет вам писать интеграционные тесты для новой встроенной функции изменения столбцов. Вы можете использовать эту функцию, чтобы получить либо имя типа данных, либо полное определение типа указанного столбца:
Schema::getColumnType('products', 'price'); // decimal
9. Более быстрый алгоритм хеширования
xxHash — это невероятно быстрый алгоритм хеширования. Он отличается большой случайностью и дисперсией вывода, а также уникальностью для уменьшения коллизий. Поскольку PHP 8.1 обеспечивает поддержку xxh128, а Laravel 10 работает на PHP 8.1, наличие такого надежного алгоритма хэширования в Laravel 10 идеально.
Стоит отметить, что Тейлор в своем обзоре этого изменения подчеркнул, что некоторые сторонние пакеты могут полагаться на то, что имена файлов имеют формат, аналогичный хэшу SHA-1, который является алгоритмом, используемым Laravel для хеширования. Поэтому, если вы планируете перейти на Laravel 10, было бы разумно перепроверить это во всех сторонних пакетах, которые вы используете в своем приложении.
10. Поддержка метода whereExists() для Eloquent Builder
В настоящее время использование whereExists()
требует настройки вложенного запроса с использованием замыкания. К счастью, в Laravel 10 теперь можно включить Eloquent Builder как вложенный запрос. Это позволяет использовать пользовательские методы построения, области модели и т. д.
Например, мы обычно делаем это, если хотим использовать whereExists()
:
Order::whereExists(function ($query) { $query->from('products')->whereColumn('products.order_id', 'orders.id'); });
Вместо этого с Laravel 10 мы можем сделать это:
Order::whereExists( Product::whereColumn('products.order_id', 'orders.id') );
11. Стремительная оптимизация загрузки
Одной из интересных новых функций Laravel 10 является быстрая оптимизация загрузки, когда нет ключей для загрузки. Это изменение является скорее исправлением, чем функцией, поскольку оно решает текущую проблему, в которой нетерпеливые отношения загрузки вызывают выполнение большого количества невозможных запросов.
В настоящее время при активной загрузке отношений, у которых нет ключей для загрузки, Laravel по-прежнему будет выполнять запрос, подобный этому, select \* from `table_name` where 0 = 1
. Тем не менее, новое обновление Laravel 10 проверяет, есть ли какие-либо доступные ключи в первую очередь, и если нет, предоставляет пустую коллекцию, устраняя необходимость в ненужных запросах к базе данных.
Устаревшие методы и пакеты в Laravel 10
Laravel 10 прощается с PHP 8.0
Платформа Laravel прекратит поддержку PHP 8.0 в Laravel 10. Следовательно, если вы планируете обновить свое приложение до Laravel 10, вы должны сначала обновить версию PHP до PHP 8.1 или PHP 8.2.
Удаление устаревших методов
Мы видим, что основная команда Laravel удаляет устаревшие методы в Laravel 9 из ветки Laravel 10. Мы ожидаем, что команда обновит руководство по обновлению документации, чтобы включить в него все устаревшие методы и пакеты, как только будет выпущен Laravel 10.
Если вы собираетесь перенести текущий проект на Laravel 10, любой код, использующий устаревший метод, должен быть переписан с использованием нового подхода для достижения того же результата.
Вот список всех устареваний и удалений, которые мы обнаружили при сравнении Laravel 9 с основной веткой:
- Метод
Route::home
(устарел в Laravel 9) - Устаревшие функции и методы для
dispatchNow
. Это сделано для того, чтобы побудить разработчиков использоватьdispatchSync
, который является единственным поддерживаемым способом немедленной отправки. -
getBaseQuery
потому что у него есть эквивалентtoBase
- Класс
MaintenanceModeException
, который больше не использовался - Черта
MocksApplicationServices
- Метод
Mail::failures
поддельной почты - Устаревшее свойство
$dates
, вместо него рекомендуется использовать$casts
- Метод
assertTimesSent()
- Прекращена поддержка
Predis
1 иdoctrine/dbal
2. - Все связанные с этим устаревания в
doctrine/dbal
с тех пор, как Laravel прекратил поддержку версии 2
Как установить Laravel 10
Laravel 10 уже доступен для вас, чтобы вы могли прокатиться и протестировать его функции. Флаг –dev
в установщике Laravel устанавливает ветку master из репозитория laravel/laravel
. Все, что вам нужно сделать, это запустить эту команду в своем терминале:
laravel new example-kinsta-app --dev
Или, если вы предпочитаете использовать Composer:
composer create-project --prefer-dist laravel/laravel example-kinsta-app dev-master
Чтобы лучше понять команду Composer, вот краткое объяснение:
- laravel/laravel : пакет для установки Laravel.
- example-kinsta-app : новый каталог для вашего нового проекта (можно изменить)
- dev-master : следующая версия Laravel (в данном случае Laravel 10)
После установки Laravel 10 вы можете подтвердить версию, перейдя в новый каталог example-kinsta-app и выполнив команду artisan:
$ php artisan --version Laravel Framework 10.x-dev
Как обновить проект до Laravel 10
У вас есть соблазн перейти на Laravel 10? Основная команда Laravel усердно работает над документацией, чтобы предоставить простое и понятное руководство по обновлению, в котором описаны все возможные критические изменения. Не стесняйтесь проверить руководство по обновлению Laravel 10, так как некоторая информация о процессе обновления уже доступна.
Вы также должны следить за Laravel Shift после выпуска Laravel 10. Он предлагает простой и автоматизированный подход к обновлению вашей версии Laravel.
В дополнение к документации Laravel и Laravel Shift мы в Kinsta опубликуем подробное руководство по обновлению с примерами из реальной жизни. Так что не забудьте добавить эту страницу в закладки и вернуться на нее после выхода Laravel 10.
Как развернуть проекты Laravel 10
Развертывание Laravel 10 не должно сильно отличаться от развертывания проекта Laravel 9. Вот какие, по нашему мнению, требования к серверу могут быть:
- PHP >= 8.1
- PHP-расширение BCMath
- PHP-расширение Ctype
- PHP-расширение cURL
- PHP-расширение DOM
- PHP-расширение Fileinfo
- PHP-расширение JSON
- PHP-расширение Mbstring
- PHP-расширение OpenSSL
- PHP-расширение PCRE
- PHP-расширение PDO
- PHP-расширение для токенизатора
- XML-расширение PHP
Вы можете развернуть и разместить свой проект Laravel 10 на Kinsta за считанные минуты, поскольку Laravel входит в длинный список поддерживаемых платформ для размещенных приложений.
Развертывание Laravel 10 на Kinsta: пошаговое руководство
Есть несколько преимуществ размещения и развертывания ваших приложений на Kinsta, в том числе отсутствие необходимости беспокоиться о конфигурации развертывания.
Kinsta предоставляет удобный, но мощный инструмент для развертывания приложений, подключения к базам данных и мониторинга производительности в реальном времени. Этот инструмент известен как MyKinsta, и в этом разделе мы расскажем вам, как развернуть приложение Laravel 10 с его помощью.
1. Приложение Laravel 10
Предполагая, что у вас есть приложение Laravel 10 локально, нам нужно убедиться, что для него доступен репозиторий github. Мы будем использовать этот репозиторий для развертывания приложения позже.
Вы можете включить файл .htaccess в корневой каталог вашего приложения, который содержит следующее:
<IfModule mod_rewrite.c> RewriteEngine On RewriteRule ^(.*)$ public/$1 [L] </IfModule>
Для Laravel это перенаправляет все запросы на public/index.php. Однако при необходимости вы можете обновить эту команду при добавлении приложения (шаг Настройка процессов ) или после развертывания на странице Процессы приложения. Вы можете использовать:
-
heroku-php-apache2 /public
-
php artisan serve --host 0.0.0.0 --port 8080
2. Войдите в MyKinsta
Перейдите на страницу входа в MyKinsta и введите свой адрес электронной почты и пароль. Если у вас еще нет учетной записи, вы можете зарегистрировать новую учетную запись и получить скидку 20 долларов на первый месяц подписки на любой тарифный план.
3. Авторизация Kinsta на GitHub
После входа в систему вы заметите, что на панели инструментов есть 3 варианта создания сайта WordPress, создания приложения или создания базы данных. Мы нажмем кнопку Connect GitHub для интеграции с GitHub.
Затем нажмите кнопку « Продолжить с GitHub ». Если вы еще не вошли в GitHub, вам будет предложено войти в систему. Затем вы можете разрешить приложению Kinsta GitHub доступ к вашей учетной записи GitHub, выбрав Authorize Kinsta .
Наконец, GitHub перенаправит ваш браузер на MyKinsta, чтобы продолжить настройку приложения.
После подключения к GitHub вам будет показано всплывающее/модальное окно « Добавить приложение », в котором есть раскрывающееся меню для выбора репозитория GitHub. Щелкните поле « Репозиторий GitHub» и выберите « Изменить разрешения GitHub» в раскрывающемся списке.
Это откроет новую вкладку в вашем браузере на веб-странице GitHub, где вы сможете выбрать, к каким данным Kinsta сможет получить доступ. Вместо того, чтобы предоставлять доступ ко всем репозиториям, рассмотрите возможность выбора только того, который вы хотите использовать в Kinsta. Щелкните Только выбрать репозитории и выберите репозиторий, который вы хотите развернуть.
Затем нажмите «Установить », и все готово!
Когда вы вернетесь в MyKinsta и щелкнете поле репозитория GitHub , авторизованный репозиторий должен быть виден. Кроме того, вы можете установить флажок « Автоматическое развертывание при фиксации », чтобы функция MyKinsta автоматически развертывала ваше приложение, как только вы вносите какие-либо изменения в репозиторий GitHub.
4. Добавьте основные сведения о приложении
Теперь вы можете дать приложению имя, которое будет использоваться только на панели инструментов, и выбрать один из 25 местоположений центров обработки данных, что позволит вам разместить свое приложение в географическом месте, ближайшем к вашим пользователям. Если вам нужна помощь в определении того, какой центр обработки данных идеально подходит для вашего приложения, ознакомьтесь с нашим руководством по выбору правильного местоположения центра обработки данных.
5. Добавьте переменные среды
Следующий раздел предназначен для добавления переменных среды, и самая важная переменная — это APP_KEY
.
Если у вас еще нет ключа в файле .env
, вы можете сгенерировать его с помощью онлайн-генератора ключей Laravel. Затем вставьте APP_KEY
в поле « Ключ 1 » и вставьте сгенерированный ключ приложения в поле « Значение 1 ».
Наконец, выберите «Доступно во время выполнения » и «Доступно во время процесса сборки ».
5. Настройте среду сборки
Самое волшебное здесь то, что вам не нужно ничего настраивать! Вы можете продолжить, нажав кнопку « Продолжить », и вуаля! Вы завершили настройку встроенной среды. Однако, если вы хотите улучшить ресурсы сборки, чтобы обеспечить более быструю сборку, вы можете выбрать предпочтительный вариант в поле Ресурсы сборки .
Поле « Путь сборки » является необязательным — вы можете оставить его пустым, и MyKinsta будет использовать корневую папку.
6. Настройте процессы и способ оплаты
В разделе « Ресурсы » заполните каждое поле следующей информацией:
- Имя процесса: имя, отображаемое в списке процессов вашего приложения.
- Тип процесса: выбирайте внимательно, потому что его нельзя изменить после того, как он установлен. Однако вы можете добавлять и изменять дополнительные процессы, такие как фоновое задание, на странице « Процессы » вашего приложения после развертывания.
- Команда «Пуск» : команда «Пуск» для вашего процесса (не обязательно).
- Размер модуля: ожидаемая емкость модуля, которая потребуется для вашего процесса.
- Количество экземпляров: количество экземпляров вашего процесса (максимум 50).
Обратите внимание, что вы можете просто нажать « Продолжить », не заполняя поле « Команда запуска », поскольку Kinsta автоматически определяет необходимую команду во время первого развертывания.
На последнем этапе проверьте ежемесячные расходы на использование, рассчитанные для вашего приложения, а затем подтвердите способ оплаты. По завершении нажмите кнопку Подтвердить способ оплаты .
И вы сделали! Kinsta выполнит всю работу в фоновом режиме, чтобы обслуживать ваше приложение.
После этого у вас будет доступ ко всем деталям процесса развертывания, а также к временному URL-адресу работающего приложения, который вы позже сможете заменить своим собственным доменом.
Ваше приложение Laravel 10 теперь работает на Kinsta, но что, если вам нужно внести изменения в производство? Что, если мы хотим изменить атрибут href
тега привязки? Поскольку мы активировали функцию автоматического развертывания при фиксации, MyKinsta обнаружит любые изменения, которые мы вносим в развернутую ветку, и соответствующим образом автоматически обновит работающее приложение.
7. Подключите Laravel 10 к базе данных MySQL
Теперь, когда мы развернули наше приложение Laravel 10, мы можем без особых усилий создать базу данных и связать ее с нашим приложением. Все, что вам нужно сделать, это нажать « Приложения » в меню навигации слева, затем « Добавить службу» и выбрать « База данных ».
После заполнения всех полей нажмите Создать базу данных . Это создаст новую базу данных, готовую для внутренних и внешних подключений. В нашем сценарии нам требуется внутреннее подключение к проекту Laravel 10, который мы развернули.
Для этого все, что вам нужно сделать, это нажать « Добавить приложение » в разделе « Внутренние подключения » и выбрать свое приложение. Вы можете установить флажок « Добавить переменные среды в приложение », и MyKinsta заполнит все переменные .env
, необходимые вашему приложению.
После этого ваше приложение Laravel 10 развертывается и подключается к базе данных.
Как внести свой вклад в Laravel 10
Хотя Laravel поддерживается основной командой, его активно развивают более 3000 добровольцев.
Хотите стать одним из таких участников и помочь сформировать будущее Laravel? Если вы ответили «да», вы могли бы помочь разработчикам по всему миру, добавив новую функцию, исправив ошибку или даже переписав запутанную часть документации.
Чтобы внести свой вклад в Laravel 10, вам нужно сделать следующее:
- Перейдите в репозиторий Laravel на GitHub и проверьте запросы на вытягивание, помеченные
[10.x]
в заголовке. Это даст вам четкое представление обо всех запросах на вытягивание для Laravel 10. Если один из PR относится к вкладу, который вы намеревались внести, посмотрите, можете ли вы его улучшить. - Если ваш запланированный вклад еще не был рассмотрен кем-то другим, вы можете создать PR самостоятельно.
- Не все стоит добавлять в кодовую базу фреймворка. Поэтому старайтесь внедрять только те улучшения, которые будет легко поддерживать в будущем и которые помогут подавляющему большинству сообщества Laravel.
- Обязательно соблюдайте рекомендации Laravel по внесению вклада, чтобы повысить шансы на слияние ваших изменений с фреймворком.
Еще одна причина любить Laravel 10 заключается в том, что он позволяет вам зарабатывать деньги за ваш вклад в поиск ошибок! Мы рассмотрим их далее.
Конкурс по поиску ошибок Laravel 10
Laravel 10 объявил отличный конкурс, в котором случайный участник имеет шанс выиграть 1000 долларов.
Это будет первый конкурс такого рода в истории Laravel. Он был разработан, чтобы побудить сообщество находить и исправлять скрытые ошибки в Laravel 10.
Правила просты:
- Допускаются только PR, отправленные в ветку 10.x репозитория laravel
laravel/framework
. - Будут рассмотрены только «подлинные» исправления ошибок. Новые функции, рефакторинг и исправления опечаток не рассматриваются.
- Каждое исправление ошибки должно быть подтверждено тестом.
- Принятые исправления ошибок будут отмечены на GitHub, а в конце конкурса будет объявлен случайный победитель.
Конкурс завершится, когда будет выпущена первая стабильная версия Laravel 10. Любые запросы на вытягивание, которые к тому времени все еще будут находиться на рассмотрении или отправлены после выпуска Laravel 10, будут неприемлемы.
Резюме
Это не для этой статьи! До даты релиза будет больше изменений. Но на данный момент Laravel 10 кажется чрезвычайно многообещающим, и мы рады рассказать обо всех дарах, которые он привносит в мир PHP.
Тем временем, если вы ищете другие способы улучшить производительность вашего приложения Laravel, вы можете подумать о переходе на хостинг-провайдера премиум-класса. Решения Kinsta для хостинга приложений являются одними из самых быстрых, безопасных и простых в использовании в отрасли, и они специально разработаны с учетом потребностей разработчиков, предлагая оптимизацию производства и круглосуточную экспертную поддержку от наших опытных разработчиков.