А может на PHP? – Telegram
А может на PHP?
142 subscribers
129 photos
4 videos
5 files
863 links
Канал любителей велосипедов.

По вопросам - @fedor2dostoevsky

Остальные каналы "А может?" - @maybe_channel
Download Telegram
Laravel | Migration Generator

Laravel Migration Generator - пакет для генерации миграций из существующей структуры БД. В отличие от встроенной команды schema:dump генерирует файлы миграций, а не SQL.

https://github.com/bennett-treptow/laravel-migration-generator
Laravel | Service Container in Laravel

В видео один из основных разработчиков Laravel подробно рассказывает об особенностях работы с сервис контейнером.

https://www.youtube.com/watch?v=zmyDq3JbfpU
https://laravelexamples.com - сайт с постоянно пополняемой коллекцией примеров кода на Laravel. Присутствуют примеры как для стандартных функций Laravel, так и примеры работы с популярными пакетами.
Patrol - CLI-инструмент для проверки composer-зависимостей вашего проекта на предмет устаревших пакетов и наличия уязвимостей.

https://github.com/nunomaduro/patrol
michaeldyrynda/laravel-nullable-fields - пакет для Laravel с трейтом Nullable.

Трейт nullable позволяет описать какие поля нужно сохранять как null, если пришло любое пустое значение.

https://github.com/michaeldyrynda/laravel-nullable-fields
Пакет для Symfony, который необходимо использовать в долгоживущих процессах: например, очередях и консольных командах. Пакет помогает следить за используемой памятью и вовремя очищать ее, например, почистив EntityManager.

https://github.com/LongRunning/LongRunning
В PHP 8.1 будут readonly свойства

https://wiki.php.net/rfc/readonly_properties_v2

Такие свойства нельзя изменить после инициализации.

Инициализировать можно только в том же скоупе, то есть в объявлении или в методе класса (можно обойти через Reflection или старый трюк с Closure::bind).

Свойства с флагом readonly должны быть типизированные, но можно использовать тип mixed.

Если readonly свойство инициализировано объектом, то иммутабельным он не становится. То есть его внутреннее состояние все еще можно изменить.
Большая статья, в которой рассматриваются примеры технологий и подходов при построении высоконагруженных приложений:

1. Балансировщики нагрузки;
2. SQL или NoSQL базы данных;
3. Шардинг;
4. Репликация;
5. Кэширование;
6. CDN;
7. Long-polling vs Websockets vs SSE.

https://levelup.gitconnected.com/how-to-design-a-system-to-scale-to-your-first-100-million-users-4450a2f9703d
Плюсы и минусы использования UUID в качестве первичного ключа. И почему иногда лучшим решением может быть использование одновременно UUID и автоинкремента.

https://tomharrisonjr.com/uuid-or-guid-as-primary-keys-be-careful-7b2aa3dcb439?gi=b9634d36c01a
Для тех, кто до сих пор не познакомился с докером, небольшой обзор на тему, чем он является и как им пользоваться.

https://deworker.pro/edu/series/interactive-site/what-is-docker
В статье рассказывается об очистке БД от старых записей, реализованной с помощью новой функции Models Pruning, появившейся в Laravel 8.50.

https://laravel.demiart.ru/pruning-models/