Laravel World

  1. В Laravel 9.21 произведен редизайн более чем 100 встроенных artisan-команд. В следующих обновлениях будет редизайн команд официальных laravel-пакетов. Для реализации этой фишки был использован пакет Termwind, с помощью которого можно легко создавать удобные пользовательские интерфейсы в консоли.

    В Laravel 9.21 произведен редизайн более чем 100 встроенных artisan-команд.

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

    https://blog.laravel.com/laravel-refreshing-artisan/

    • 👍73
    • 👎6
  2. Релиз Laravel 9.21Обновление сфокусировано на улучшении Artisan. Позже расскажу подробнее.

    Релиз Laravel 9.21
    Обновление сфокусировано на улучшении Artisan. Позже расскажу подробнее.
    https://github.com/laravel/framework/releases/tag/v9.21.0

    также зарелизены:
    Laravel 8.83.20
    Breeze 1.11.1
    Jetstream 2.10.1
    Octane 1.2.16
    Scout 9.4.10
    Telescope 4.9.1
    Vite Plugin 0.5

    • 👍20
  3. Приходилось разбивать локализованные строки на части, что бы добавить в них html-элемент? Или локализовали прямо с тегами? Есть небольшой лайфхак — используйте markdown-форматирование. Плюс Notification-классы по умолчанию поддерживают markdown, так что вам даже не нужно будет использовать команду Str::markdown().

    Приходилось разбивать локализованные строки на части, что бы добавить в них html-элемент? Или локализовали прямо с тегами?

    Есть небольшой лайфхак — используйте markdown-форматирование.

    Плюс Notification-классы по умолчанию поддерживают markdown, так что вам даже не нужно будет использовать команду Str::markdown().

    • 👍54
  4. Релиз Laravel 9.20Changelog, как обычно, запаздывает.

    Релиз Laravel 9.20
    Changelog, как обычно, запаздывает.
    https://github.com/laravel/framework

    также зарелизено:
    Laravel 8.83.19
    Breeze 1.11
    Cashier Stripe 13.13
    Dusk 6.25
    Fortify 1.13.1
    Horizon 5.9.9
    Installer 4.2.12
    Jetstream 2.10
    Octane 1.12.15
    Vite Plugin 0.4 GitHub - laravel/framework: Laravel is a web application framework with expressive, elegant syntax.

    • 👍24
    • 👎1
  5. Релиз Laravel Dompdf 2Пакет для создания PDF из HTML.Переход на Dompdf версии 2. Плюс несколько фиксов уязвимостей, включая удалённое выполнение кода.

    Релиз Laravel Dompdf 2
    Пакет для создания PDF из HTML.

    Переход на Dompdf версии 2.
    Плюс несколько фиксов уязвимостей, включая удалённое выполнение кода.
    https://github.com/barryvdh/laravel-dompdf/releases/tag/v2.0.0

    • 👍48
  6. Не забываем про blade-директивы stack и push, с помощью которых вы можете помещать код в определённые стеки и выводить их скопом в нужных местах. Например, очень удобно для загрузки яваскрипта.

    Не забываем про blade-директивы stack и push, с помощью которых вы можете помещать код в определённые стеки и выводить их скопом в нужных местах. Например, очень удобно для загрузки яваскрипта.

    • 👍76
  7. Динамические blade-компонентыВ Laravel есть возможность использования в blade-шаблонах встроенного компонента dynamic-component. Он удобен, когда выбор компонента для вывода зависит от переменной, то есть до момента выполнения неизвестно, какой компонент будет нужно вывести.

    Динамические blade-компоненты

    В Laravel есть возможность использования в blade-шаблонах встроенного компонента dynamic-component. Он удобен, когда выбор компонента для вывода зависит от переменной, то есть до момента выполнения неизвестно, какой компонент будет нужно вывести.

    https://laravel.demiart.ru/dynamic-blade-components/

    • 👍29
  8. Люди уже начинают устанавливать Laravel 9.19+ и, с изумлением, натыкаются на Vite вместо Laravel Mix. Для тех, кто не хочет вникать в новую фишку фреймворка — можно откатить всё назад по следующей инструкции:

    Люди уже начинают устанавливать Laravel 9.19+ и, с изумлением, натыкаются на Vite вместо Laravel Mix. Для тех, кто не хочет вникать в новую фишку фреймворка — можно откатить всё назад по следующей инструкции: https://github.com/laravel/vite-plugin/blob/main/UPGRADE.md#migrating-from-vite-to-laravel-mix

    • 👎32
    • 👍30
  9. В этой статье мы начнем с основ TDD (Test Driven Development. Разработка через тестирование) в Laravel. Нам предстоит освоить: — Создание API с нуля с упором на базовые фичи CRUD. — Внедрим TDD с самого начала, чтобы проиллюстрировать, как создавать тестируемые приложения Laravel.

    В этой статье мы начнем с основ TDD (Test Driven Development. Разработка через тестирование) в Laravel. Нам предстоит освоить:
    — Создание API с нуля с упором на базовые фичи CRUD.
    — Внедрим TDD с самого начала, чтобы проиллюстрировать, как создавать тестируемые приложения Laravel.

    https://habr.com/ru/company/otus/blog/674310/ Создание API с использованием TDD в Laravel

    • 👍44
  10. Vite новый дефолтный сборщик фронтенд ресурсов в Laravel. Значительно более быстрый, чем Webpack.

    Vite новый дефолтный сборщик фронтенд ресурсов в Laravel. Значительно более быстрый, чем Webpack.
    https://laravel-news.com/vite-is-the-default-frontend-asset-bundler-for-laravel-applications

    Подробнее о том, что такое Vite и как им пользоваться:

    Переход с Laravel Mix на Vite
    https://www.dwightwatson.com/posts/migrating-from-laravel-mix-to-vite

    Перенос проекта c Webpack на Vite
    https://christoph-rumpel.com/2022/6/moving-a-laravel-webpack-project-to-vite

    VIte: Автоматически обновляем окно браузера при изменении blade-файлов
    https://freek.dev/2277-using-laravel-vite-to-automatically-refresh-your-browser-when-changing-a-blade-file

    • 👍68
    • 👎5
  11. Вместо использования одного и того же контроллера в каждом роуте, задайте его в группе. Работает начиная с Laravel 8.80.

    Вместо использования одного и того же контроллера в каждом роуте, задайте его в группе. Работает начиная с Laravel 8.80.

    • 👍161
    • 👎5
  12. Маршрутизация в Laravel только с помощью контроллера через PHP-атрибутыАтрибуты, новая фича PHP 8, также известные как аннотации, добавляют метаданные в классы, методы и переменные. Используя их, мы можем избежать создания дополнительных файлов маршрутизации и все необходимое сразу задать в одном контроллере, повысив читаемость кода. Нам не понадобятся никакие дополнительные пакеты, важна только версия языка. Давайте разбираться, как всё это работает.

    Маршрутизация в Laravel только с помощью контроллера через PHP-атрибуты

    Атрибуты, новая фича PHP 8, также известные как аннотации, добавляют метаданные в классы, методы и переменные. Используя их, мы можем избежать создания дополнительных файлов маршрутизации и все необходимое сразу задать в одном контроллере, повысив читаемость кода. Нам не понадобятся никакие дополнительные пакеты, важна только версия языка. Давайте разбираться, как всё это работает.

    https://laravel.demiart.ru/routing-with-controller-only-using-php-8-attributes/

    • 👎63
    • 👍22
  13. Если вы используете трейт в Eloquent-модели, то в нём можно создать методы boot[TraitName] и initialize[TraitName]. Они будут вызваны автоматически и могут использоваться для регистрации событий и инициализации модели.

    Если вы используете трейт в Eloquent-модели, то в нём можно создать методы boot[TraitName] и initialize[TraitName]. Они будут вызваны автоматически и могут использоваться для регистрации событий и инициализации модели.

    • 👍76
    • 👎1
  14. Альтернативный синтаксис загрузки отношений в Laravel 9.18Теперь можно их указывать не только строкой, но и вложенным массивом.

    Альтернативный синтаксис загрузки отношений в Laravel 9.18
    Теперь можно их указывать не только строкой, но и вложенным массивом.

    • 👍89
    • 👎1