Laravel World

  1. При использовании «сырых» запросов не забывайте передавать в него параметры через привязку. Это защитит от SQL-инъекций.

    При использовании «сырых» запросов не забывайте передавать в него параметры через привязку. Это защитит от SQL-инъекций.

    • 👍158
    • 👎2
  2. В Laravel 9.31 будет возможность использовать UUID и ULID в качестве первичных ключей для Eloquent-моделей с помощью трейтов HasUuid и HasUlid.

    В Laravel 9.31 будет возможность использовать UUID и ULID в качестве первичных ключей для Eloquent-моделей с помощью трейтов HasUuid и HasUlid.

    https://github.com/laravel/framework/pull/44074

    • 👍123
  3. С помощью blade-директивs @inject можно получить сервис из cервис-контейнера Laravel. Первый параметр — имя переменной, в которую будет помещен сервис. Второй — название класса или интерфейса сервиса, который вы хотите извлечь.

    С помощью blade-директивs @inject можно получить сервис из cервис-контейнера Laravel. Первый параметр — имя переменной, в которую будет помещен сервис. Второй — название класса или интерфейса сервиса, который вы хотите извлечь.

    • 👍109
    • 👎19
  4. Релиз Laravel 9.28

    Релиз Laravel 9.28
    https://github.com/laravel/framework/releases/tag/v9.28.0

    Из значимых фишек - добавлены Signal Traps, о которых мы писали ранее. Release v9.28.0 · laravel/framework

    • 👍16
  5. Работаем с событиями Laravel-моделей

    Работаем с событиями Laravel-моделей

    При работе с Eloquent-моделями часто возникает необходимость использовать события, генерируемые в процессе жизненного цикла моделей. Существует несколько различных способов сделать это. В этом уроке я рассмотрю их все и объясню преимущества и недостатки каждого.

    https://laravel.demiart.ru/working-with-laravel-model-events/

    • 👍38
  6. Мадуро разрабатывает новую фичу для Laravel 9 — Signal Trap (ловушка сигналов как в bash), которая позволит перехватывать сигналы процесса и выполнять нужный код при их перехвате.

    Мадуро разрабатывает новую фичу для Laravel 9 — Signal Trap (ловушка сигналов как в bash), которая позволит перехватывать сигналы процесса и выполнять нужный код при их перехвате.

    На скриншоте видно, что artisan-команда экспортирует в файл некие данные. И поставлена ловушка на сигнал SIGTERM (завершение процесса), которая при срабатывании поставит экспорт на паузу и выбросит исключение.

    Впрочем уже существует пакет spatie/laravel-signal-aware-commands, который также позволяет работать с сигналами в Laravel-приложениях.

    • 👍44
    • 👎2
  7. В новом релизе Laravel теперь можно переводить дефолтные сообщение валидации «The given data was invalid.» и « (and 1 more error)». Казалось бы ерунда, но на протяжении минимум пары лет Тейлор категорически отвергал десятки пул-реквестов на их локализацию. И, внезапно, нашему Андрею @Helldar удалось убедить хозяина фреймворка внести это изменение. Пишу об этом, потому что команда разработки решила не указывать это в changelog'e.

    В новом релизе Laravel теперь можно переводить дефолтные сообщение валидации «The given data was invalid.» и « (and 1 more error)». Казалось бы ерунда, но на протяжении минимум пары лет Тейлор категорически отвергал десятки пул-реквестов на их локализацию. И, внезапно, нашему Андрею @Helldar удалось убедить хозяина фреймворка внести это изменение. Пишу об этом, потому что команда разработки решила не указывать это в changelog'e.

    Кстати, Андрей, как и множество других прекрасных программистов, живёт и помогает новичкам в нашем дружелюбном Laravel-чате https://t.me/laravel_web

    • 👍104
  8. Тейлор поделился планами убрать из документации пакеты Jetstream и Fortify, но продолжить для них выпуск багфиксов. Основной его аргумент, что Laravel+Breeze+Sanctum покрывают все необходимые потребности проектов.

    Тейлор поделился планами убрать из документации пакеты Jetstream и Fortify, но продолжить для них выпуск багфиксов. Основной его аргумент, что Laravel+Breeze+Sanctum покрывают все необходимые потребности проектов.

    Однако большинство разработчиков восприняли негативно инициативу Тейлора. Один из факторов недовольства — отсутствие альтернатив для двухфакторной аутентификации и системе команд (Teams) из Jetstream.

    Другая часть считает, что команде Laravel нет смысла распыляться на несколько однотипных пакетов и лучше совершенствовать один.

    Напомню, что речь идёт о официальных пакетах для создания аутентификации в фреймворке.

    Laravel Jetstream включает в себя системы логина, регистрации, проверки электронной почты, двухфакторную аутентификацию, управление командами и сессиями. Разработан с использованием Tailwind CSS.

    Laravel Fortify — это независимая бэкенд-аутентификация для Laravel. Он предоставляет нам всю бэкэнд-логику для аутентификации (как если вы использовали Laravel 7, то это были бы Auth-контроллеры). Jetstream как раз использует Fortify.

    Laravel Breeze – это минимальная и простая реализация всего функционала аутентификации Laravel, включая вход в систему, регистрацию, сброс пароля, подтверждение адреса электронной почты и пароля. По умолчанию состоит из простых шаблонов Blade, стилизованных с помощью Tailwind CSS.

    Laravel Sanctum — легковесная система аутентификации для SPA (одностраничных приложений), мобильных приложений и простых API на основе токенов.

    https://twitter.com/taylorotwell/status/1562553585820639239

    • 👍56
    • 👎9
  9. В PhpStorm 2022.3 обещают улучшить поддержку Blade: автодополнение директив, подсветка парных директив, поддержка readonly-директив, отслеживание неиспользуемых функций и уменьшение ложных срабатываний.

    В PhpStorm 2022.3 обещают улучшить поддержку Blade: автодополнение директив, подсветка парных директив, поддержка readonly-директив, отслеживание неиспользуемых функций и уменьшение ложных срабатываний.

    https://blog.jetbrains.com/phpstorm/2022/08/what-s-next-phpstorm-2022-3-roadmap/ What’s Next: PhpStorm 2022.3 Roadmap | The PhpStorm Blog

    • 👍52
    • 👎3
    • ❤️1
  10. В Laravel 9.26 добавлен хелпер Vite::asset(), позволяющий в blade-шаблонах выводить и версионировать url-адреса собранных ресурсов вашего проекта.

    В Laravel 9.26 добавлен хелпер Vite::asset(), позволяющий в blade-шаблонах выводить и версионировать url-адреса собранных ресурсов вашего проекта.
    https://laravel.com/docs/9.x/vite#blade-processing-static-assets

    • 👍26
    • 👎2
  11. В Laravel 9.26 появились новые правила валидации: min_digits и max_digits для проверки в числе минимального и максимального количества цифр.

    В Laravel 9.26 появились новые правила валидации: min_digits и max_digits для проверки в числе минимального и максимального количества цифр.
    https://laravel.com/docs/9.x/validation#rule-max-digits

    • 👍44