Взгляд на то, что будет в Laravel 10
Посмотрим на то, что ожидается в Laravel 10

Старт! Честный VDS/VPS, на котором «Лунная База» живет уже 20+ лет

Задумываетесь о том, чтобы поднять свой pet-проект, сайт клиента или настроить окружение для разработки? Уже пора подумать, где арендовать железо.

Лунная База хостится на FirstVDS более 20 лет. Мыслей о том, чтобы перебраться на другой хостинг, не было ни разу (хотя опыт работы с другими вариантами, конечно, есть).

Бывали разные ситуации, но они бывают на любом железе. Главное, что нужно понять: здесь нет маркетинговой шелухи и сказок про «мы всё сделаем за вас». Если вы берете VDS — вам дают полный root, возможность накатить любую ОС и не лезут в ваши конфиги.

Если в саппорт написать с вопросом по вашему коду и получить ответ: «Читайте документацию и разбирайтесь сами» или «Обратитесь к профильному специалисту» — это не повод обижаться. Это повод углубить свои знания в DevOps и сайтостроении! Бегите от тех, кто пообещает: «Мы всё чиним и настраиваем абсолютно бесплатно!». Никто никогда не работает «по доброте душевной» в ущерб себе, а бесплатный сыр в администрировании обычно заканчивается сломанной базой данных.

Что по факту: Гибкое масштабирование ядер и RAM, экономия по сравнению с физическими серверами и адекватная панель ispmanager, если она вам нужна.



Laravel 10 - это следующая версия Laravel.

Laravel 10 - это следующая основная версия Laravel, выпуск которой запланирован на февраль 2023 года. В этом посте в общих чертах описаны все новые функции и изменения, о которых стало известно.

Рекомендуется возвращаться к этому посту в ближайшие недели, поскольку в течение ближайших недель будет продолжаться наблюдение за тем, что появится в Laravel 10, и этот пост будет обновляться в преддверии февральского релиза.

Дата выхода Laravel 10.

До Laravel 9 основные версии фреймворка выходили два раза в год или примерно каждые шесть месяцев. Начиная с Laravel 9, основная команда перешла на ежегодный график, выпустив Laravel 9 в феврале 2022 года (вместо первоначально запланированного сентября 2021 года):

>> Laravel использует различные пакеты, созданные сообществом, а также девять компонентов Symfony для ряда функций фреймворка. Symfony 6.0 должен быть выпущен в ноябре. По этой причине мы решили отложить выпуск Laravel 9.0 до 2022 года.

Отложив выпуск, мы сможем обновить наши базовые компоненты Symfony до Symfony 6.0 без необходимости ждать сентября 2022 года, чтобы выполнить это обновление. Кроме того, это лучше позиционирует нас для будущих релизов, так как наши ежегодные релизы всегда будут выходить через два месяца после релизов Symfony.

В дальнейшем планируется выпускать по одному крупному релизу в год:

  • Laravel 9: 8 февраля 2022 г.
  • Laravel 10: февраль, 2023
  • Laravel 11: февраль, 2024

Laravel 9 будет продолжать получать исправления ошибок до 8 августа 2023 года и исправления безопасности до 6 февраля 2024 года.

Исправления ошибок Laravel 10 можно ожидать до 6 августа 2024 года, а исправления безопасности - до 4 февраля 2025 года.

Уровень процессов для Laravel.

Служба Laravel Process делает тестирование и запуск CLI-процессов просто сказочной фантазией.

use Illuminate\Support\Facades\Process;
 
$result = Process::run('ls -la');
 
$result->successful();
$result->failed();
$result->exitCode();
$result->output();
$result->errorOutput();
$result->throw();
$result->throwIf($condition);

Уровень Process включает в себя большие возможности из коробки, такие как:

  • Удобные методы процесса для создания экземпляра процесса перед его исполнением.
  • Обработка выходных данных процесса по мере их получения.
  • Асинхронные процессы.
  • Пулы процессов.
  • Богатые возможности тестирования с помощью `fake()`.
  • Предотвращение появления паразитных процессов во время тестирования.

Тестирование процессов еще никогда не было таким простым

Новый конкурс Laravel "Охота на баги".

В Laravel 10 проводится новый конкурс "Охота за ошибками", который продлится до официальной даты релиза.

В Laravel 10 прекращена поддержка PHP 8.0.

Фреймворк Laravel откажется от поддержки PHP <=v8.0 в Laravel 10. Минимальная требуемая версия PHP ^8.1. Просматривая сравнение между master и 9.x, можно ожидать, что в фреймворке будут использоваться функции PHP 8.1, такие как свойства с возможностью чтения.

Нативные объявления типов в скелетоне Laravel 10.

В Laravel 10 код каркаса приложения будет иметь нативные объявления типов. Это означает, что любой код в пользовательском пространстве, генерируемый фреймворком, будет иметь подсказки типов и возвращаемые типы. В данной статье обсуждаются предостережения, связанные с этим подходом, и думается, что вам понравится добавление типов при создании новых проектов в будущем.

Типы добавляются таким образом, чтобы привнести в проекты Laravel новейшие возможности подсказок типов PHP без нарушения обратной совместимости на уровне фреймворка на:

  • Возвращаемые типы.
  • Аргументы метода.
  • Избыточные аннотации удаляются там, где это возможно.
  • Разрешить пользовательские типы внутри аргументов замыкания.
  • Не включает типизированные свойства.

Invokable правила проверки являются правилами по умолчанию.

Начиная с Laravel 10, вызываемые правила валидации теперь используются по умолчанию. При создании нового правила валидации через artisan можно ожидать следующее:

# Laravel 9 создает класс правил, который реализует
# интерфейс Illuminate\Contracts\Validation\Rule
artisan make:rule Uppercase
 
# Флаг Laravel 9 для создания вызываемого и неявного правила
artisan make:rule Uppercase --invokable
artisan make:rule Uppercase --invokable --implicit
 
# Laravel 10 по умолчанию создает вызываемое правило
artisan make:rule Uppercase
 
# Неявное правило Laravel 10
artisan make:rule Uppercase --implicit

Свойство `--profile` для тестов в Laravel 10.

В Laravel 10 появится новая возможность - опция --profile, которая облегчит поиск медленных тестов в вашем приложении.

Gоиск медленных тестов в приложении в Laravel 10

Эта опция --profile должна помочь обеспечить быстродействие тестов и помочь вам либо исправить медленные тесты, либо лучше сгруппировать их, чтобы не запускать их постоянно.

Изменения в сравнении с Laravel 9.

Методы, помеченные как устаревшие в Laravel 9, будут удалены в Laravel 10. Ожидается, что в руководстве по обновлению релиза будут описаны все устаревшие методы, оценка потенциального влияния и способы обновления ближе к релизу.

Вот некоторые устаревшие методы, обнаруженные при сравнении ветки master фреймворка Laravel с веткой 9.x на момент написания статьи:

  • Устранение различных исправлений Pull Request #41136
  • Удаление устаревшего свойства даты в Pull Request #42587
  • Удаление метода handleDeprecation в Pull Request #42590
  • Удаление устаревшего метода assertTimesSent Pull Request #42592
  • Удаление устаревшего свойства ScheduleListCommand  $defaultName 419471e
  • Удаление устаревшего метода Route::home Pull Request #42614
  • Удаление устаревшей функциональности dispatchNow Pull Request #42591

Тестирование Laravel 10.

Если вы хотите начать тестирование Laravel 10 прямо сейчас, то его можно установить в свежий проект с помощью флага --dev:

laravel new <your-project-name> --dev

Обновление до Laravel 10.

Как только Laravel 10 станет официальным, обязательно ознакомьтесь с Laravel Shift - это простой и автоматизированный способ поддерживать ваше приложение в актуальном состоянии.

И еще...

До выхода Laravel 10 еще несколько месяцев, и в ближайшее время появятся новые функции и анонсы. Этот пост будет обновляться по мере их появления. Вы также можете заглянуть на официальную страницу релиза и искать обновленную информацию по мере ее появления.

Перевод с английского официальных новостей Laravel:
https://laravel-news.com/laravel-10

Самый честный хостинг за 20+ лет существования Лунной Базы

Задумываешься о том, чтобы поднять свой сайт в Интернете? Уже пора подумать о том, какой хостинг выбрать?

Лунная База хостится 20+ лет на firstDVS. При этом, мыслей о том, чтобы перебраться на другой хостинг не было. (Но, при этом есть опыт работы с другими вариантами.)

Бывали с firstDVS разные ситуации, но, они бывают на всех хостингах. Единственное, что тут важно понять, - это то, что никто ничего тебе не будет впаривать... Но, и работать за тебя тоже никто не станет. Если в саппорт ответили: «Читайте по ссылке и разбирайтесь сами...» или вообще «Обратитесь за помощью к специалисту», - это повод углубить свои знания в области сайтостроения, а не бежать к тем, что пообещают: «Мы всё чиним и всё делаем за своих клиентов абсолютно бесплатно!» Никто никогда ничего ни за кого "по доброте душевной" не делал, не делает и не будет делать!

Старт! Горячий старт на просторы интернета
Старт! Горячий старт на просторы интернета
Старт! Меню