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

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

Остальные каналы "А может?" - @maybe_channel
Download Telegram
В текущих версиях PHP, если попытаться записать в несуществующее свойство, то оно будет автоматически создано.

В современном коде это редко делается намеренно, чаще это опечатка или просто дурной тон.

В этом RFC предлагается задепрекейтить и впоследствии удалить возможность создания динамических (необъявленных) свойств.

Благодаря этому изменению в PHP 9.0 можно будет уменьшить размер объекта на 8 байт. На одном объекте это, конечно, ничто, но суммарно на больших приложениях будет заметно.

https://wiki.php.net/rfc/deprecate_dynamic_properties
Предложение сделать пересечения типов nullable в PHP 8.1 не прошло голосование. Многие голосовали против, потому что оно было выдвинуто слишком поздно. Поэтому есть вероятность, что позже будет переголосование в PHP 8.2.

https://wiki.php.net/rfc/nullable_intersection_types
В eloquent если явно не подтянуть связующую сущность $posts->with('author') то каждая итерация будет выполнять запрос к базе на получения автора

@foreach($posts as $post)
{{ $post->author->name }}
@endforeach

но бывает так, что забываешь указать relation и не замечаешь это в дибагбаре.

Но если в провайдере установить Model::preventLazyLoading(!app()->isProduction());

то при нахождении N+1 вы получите такой эксепшн, это очень помогает

Автор: @kurban_92
🦀Symfony Messenger в микросервисах: контракты сообщений и отказоустойчивость — Полезно про микросервисы и асинхронную коммуникацию.

https://medium.com/@dmitrii_tarasov/symfony-messenger-in-microservices-message-contracts-and-resilience-b9cc1a95fcf9
🪳Примеры интеграции API Yii2 для кучи разных сервисов: Почта.ру, Сбербанк, ПриватБанк и много других

https://gitlab.com/users/dicr/projects
🐕‍🦺Поговорим о проблемах кэширования

http://amdy.su/2021/08/23/cache/
🌼Обнаружение проблем n+1 через лотерейный подход, то есть запускаем проверку не каждый раз, а с некоторым шансом. Также как сделана в Laravel очистка сессий.

https://timacdonald.me/introducing-lazy-loading-prevention-into-an-existing-laravel-application/