Martin Joo - Common Mistakes in Laravel.pdf
219.8 KB
Мартин собрал в одну книгу самые распространенные ошибки при разработке на Laravel, разделенные на три основные группы: Производительность, Развертывание и Обслуживание.
❤147
Релиз Inertia 1.0
🏆 Упрощенная структура библиотеки
✨ Улучшенная поддержка TypeScript
🏎 Поддержка Svelte SSR
⌛️ Индикатор прогресса теперь в ядре
🐆 SSR-cервер теперь в ядре
Инструкция по обновлению: https://inertiajs.com/upgrade-guide
🏆 Упрощенная структура библиотеки
✨ Улучшенная поддержка TypeScript
🏎 Поддержка Svelte SSR
⌛️ Индикатор прогресса теперь в ядре
🐆 SSR-cервер теперь в ядре
Инструкция по обновлению: https://inertiajs.com/upgrade-guide
❤35
В Laravel 9 появился новый способ создания кастомных правил валидации Invokable Rules. В Laravel 10 он станет дефолтным. В статье рассказано, как тестировать такие правила.
https://freek.dev/2415-how-to-test-laravels-invokable-rules
https://freek.dev/2415-how-to-test-laravels-invokable-rules
❤39
Простая альтернатива мягкому удалению: deleted_record_insert
https://brandur.org/fragments/deleted-record-insert
На основе этого подхода Spatie выпустили пакет «Laravel deleted models», который будет хранить удаленные записи в отдельной таблице.
https://brandur.org/fragments/deleted-record-insert
На основе этого подхода Spatie выпустили пакет «Laravel deleted models», который будет хранить удаленные записи в отдельной таблице.
❤45
Релиз Laravel 9.48
https://github.com/laravel/framework/releases/tag/v9.48.0
+релизы:
Breeze 1.18
Echo 1.15
Horizon 5.16
Jetstream 2.15
Nova 4.21
Passport 11.5.1
Sail 1.18.1
Sanctum 3.2.1
Scout 9.8
Socialite 5.6
Spark Paddle 3.1
Spark Stripe 3.1
Telescope 4.12
Valet 3.3
https://github.com/laravel/framework/releases/tag/v9.48.0
+релизы:
Breeze 1.18
Echo 1.15
Horizon 5.16
Jetstream 2.15
Nova 4.21
Passport 11.5.1
Sail 1.18.1
Sanctum 3.2.1
Scout 9.8
Socialite 5.6
Spark Paddle 3.1
Spark Stripe 3.1
Telescope 4.12
Valet 3.3
❤26
Зачем и как использовать Объекты передачи данных в Laravel
Data Transfer Object (Объект передачи данных) — паттерн программирования, который, при правильном использовании, может улучшить качество код и удобство его дальнейшего сопровождения. В этой статье мы узнаем, почему нужно использовать DTO и как это сделать в Laravel.
https://laravel.demiart.ru/data-transfer-objects-in-laravel-why-and-how/
Data Transfer Object (Объект передачи данных) — паттерн программирования, который, при правильном использовании, может улучшить качество код и удобство его дальнейшего сопровождения. В этой статье мы узнаем, почему нужно использовать DTO и как это сделать в Laravel.
https://laravel.demiart.ru/data-transfer-objects-in-laravel-why-and-how/
❤71
Дайджест PHP – Январь 2023
https://blog.jetbrains.com/phpstorm/2023/01/php-annotated-january-2023/
https://blog.jetbrains.com/phpstorm/2023/01/php-annotated-january-2023/
The JetBrains Blog
PHP Annotated – January 2023 | The PhpStorm Blog
Greetings everyone! Welcome to the January installment of PHP Annotated, where we’ll catch up on the most exciting things that have happened in the PHP world over the last month, including curated new
❤22
Laravel AaaS — Actions as a Service
Wendell Adriel придумал новый паттерн с четырьмя принципами.
https://wendelladriel.com/blog/laravel-aaas-actions-as-a-service/
Wendell Adriel придумал новый паттерн с четырьмя принципами.
https://wendelladriel.com/blog/laravel-aaas-actions-as-a-service/
Wendell Adriel
Laravel AaaS - Actions as a Service
Action classes and Invokable Controllers are a hot topic in Laravel nowadays. In this article I'll explain why I think Invokable Controllers are a bad idea and an architectural pattern I created and named as AaaS.
❤48
Настраиваем поисковый движок Sphinx в Laravel
https://medium.com/@devknight216/how-to-setup-sphinx-search-engine-with-your-laravel-app-7ace9189762b
https://medium.com/@devknight216/how-to-setup-sphinx-search-engine-with-your-laravel-app-7ace9189762b
Medium
How to setup Sphinx search engine with your Laravel App
In this article, I will be talking about the Sphinx search engine and how to use it to install it on the Windows operating system, use it…
❤53
Laravel Breeze vs Laravel Jetstream
Рассмотрены пакеты аутентификации Laravel Breeze и Jetstream. Их различия и сходства, как начать с ними работать и варианты их использования.
https://www.twilio.com/blog/laravel-breeze-vs-laravel-jetstream
Рассмотрены пакеты аутентификации Laravel Breeze и Jetstream. Их различия и сходства, как начать с ними работать и варианты их использования.
https://www.twilio.com/blog/laravel-breeze-vs-laravel-jetstream
Twilio
Laravel Breeze vs Laravel Jetstream
In this article, you get a comprehensive introduction to Laravel Breeze and Jetstream, including installing them, a discussion of their differences and their similarities, and when to use them.
❤29
Релиз Laravel 9.49
https://github.com/laravel/framework/releases/tag/v9.49.0
+релизы:
Cashier Paddle 1.8.1
Cashier Stripe 14.7.1
Dusk 7.5
Horizon 5.14
Passport 11.6
Pint 1.4.1
Sail 1.19
Telescope 4.13
Valet 3.3.1
https://github.com/laravel/framework/releases/tag/v9.49.0
+релизы:
Cashier Paddle 1.8.1
Cashier Stripe 14.7.1
Dusk 7.5
Horizon 5.14
Passport 11.6
Pint 1.4.1
Sail 1.19
Telescope 4.13
Valet 3.3.1
❤21
Laravel 9.49: Новые методы в HTTP-клиенте
Определяет, является ли статус ответа уровня 4xx
Определяет, является ли статус ответа уровня 4xx
$response->clientError();Определяет, является ли статус ответа уровня 5xx
$response->serverError();Выбросить исключение, если статус ответа имеет определенный код
$response->throwIfStatus(403);Выбросить исключение, если статус ответа не имеет определенный код
$response->throwUnlessStatus(200);https://laravel.com/docs/9.x/http-client#error-handling
❤58
Руководство по обновлению до Laravel 10
Выход новой версии фреймворка запланирован на 7 февраля, но уже сейчас можно начинать подготовку к апгрейду. Мы постарались задокументировать все возможные критические изменения. Поскольку некоторые из них находятся в малоизвестных частях фреймворка, только часть этих изменений может повлиять на ваше приложение. Приблизительное время обновления: 10 минут.
https://laravel.demiart.ru/upgrade-guide-to-laravel-10/
Выход новой версии фреймворка запланирован на 7 февраля, но уже сейчас можно начинать подготовку к апгрейду. Мы постарались задокументировать все возможные критические изменения. Поскольку некоторые из них находятся в малоизвестных частях фреймворка, только часть этих изменений может повлиять на ваше приложение. Приблизительное время обновления: 10 минут.
https://laravel.demiart.ru/upgrade-guide-to-laravel-10/
❤59
Релиз Size Sorter от Andrey Helldar
Пакет для сортировки элементов коллекций (объекты, массивы, строки, модели) по размерам (одежда, обувь, габариты предметов, размер бюстгалтеров и т.д.). Принимаемая коллекция условно разбивается на 5 групп сортировки:
1. Буквенный размер одежды (XXS, XS, M, L и т.д.)
2. Цифровой размер одежды и обуви (9, 10, 44-46, 48 и т.д.)
3. Размер бюстгалтеров (70B, 75A, 80C и т.д.)
4. Размеры предметов (40x38x19 см и т.д.)
5. Все остальные значения, не входящие в первые 4 группы
https://github.com/TheDragonCode/size-sorter
Пакет для сортировки элементов коллекций (объекты, массивы, строки, модели) по размерам (одежда, обувь, габариты предметов, размер бюстгалтеров и т.д.). Принимаемая коллекция условно разбивается на 5 групп сортировки:
1. Буквенный размер одежды (XXS, XS, M, L и т.д.)
2. Цифровой размер одежды и обуви (9, 10, 44-46, 48 и т.д.)
3. Размер бюстгалтеров (70B, 75A, 80C и т.д.)
4. Размеры предметов (40x38x19 см и т.д.)
5. Все остальные значения, не входящие в первые 4 группы
https://github.com/TheDragonCode/size-sorter
GitHub
GitHub - TheDragonCode/size-sorter: Easily sort clothing size, height, bra size, furniture size and more
Easily sort clothing size, height, bra size, furniture size and more - TheDragonCode/size-sorter
❤37
Тейлор недоволен использованием слова Laravel другими разработчиками. Просит не называть свои продукты именами типа «Laravel X», лучше назовите «X for Laravel». И напоминает всем, что владеет торговой маркой «Laravel», в подтверждении чего выкатил отдельный раздел с описанием политики её использования — https://laravel.com/trademark
Судя по бурной дискуссии в Твиттере, последней каплей для него было создание какими-то ребятами сайта «Laravel Aura» c аналогичным доменом, разрабатывающими CMS на базе фреймворка. Он запретил им использовать такое название, так как это выглядит, как будто систему разрабатывает компания Тейлора.
Многие разработчики напряглись...
Судя по бурной дискуссии в Твиттере, последней каплей для него было создание какими-то ребятами сайта «Laravel Aura» c аналогичным доменом, разрабатывающими CMS на базе фреймворка. Он запретил им использовать такое название, так как это выглядит, как будто систему разрабатывает компания Тейлора.
Многие разработчики напряглись...
❤131
Релиз Laravel 9.50, 9.50.1, 9.50.2
https://github.com/laravel/framework/compare/v9.49.0...v9.50.2
https://github.com/laravel/framework/compare/v9.49.0...v9.50.2
❤18
Runtime Comparison для PHP приложений
Очень часто приходится сравнивать время выполнения кода с целью выбора наиболее оптимального решения, и каждый раз для этого приходилось писать обработчик с расчётом microtime, после чего заносил все результаты в какую-нибудь таблицу Excel и вручную рассчитывал минимальное, максимальное и среднее время выполнения... Для решения этой тривиальной задачи был выпущен пакет Runtime Comparison, позволяющий сравнивать время выполнения кода без лишних затрат.
https://habr.com/ru/post/714802/
Очень часто приходится сравнивать время выполнения кода с целью выбора наиболее оптимального решения, и каждый раз для этого приходилось писать обработчик с расчётом microtime, после чего заносил все результаты в какую-нибудь таблицу Excel и вручную рассчитывал минимальное, максимальное и среднее время выполнения... Для решения этой тривиальной задачи был выпущен пакет Runtime Comparison, позволяющий сравнивать время выполнения кода без лишних затрат.
https://habr.com/ru/post/714802/
❤78