🦉Матьяс Нобак отвечает на вопрос: «Тестировать хотя бы что-то лучше, чем не тестировать ничего?»
https://matthiasnoback.nl/2021/09/testing-anything-better-than-testing-nothing/
https://matthiasnoback.nl/2021/09/testing-anything-better-than-testing-nothing/
matthiasnoback.nl
Quick Testing Tips: Testing Anything; Better Than Testing Nothing?
One Class, One Test | UI Tests | Good Tests | Test Debt
🐗Откуда появились типы данных и зачем они нужны
https://matthiasnoback.nl/2021/09/where-do-types-come-from/
https://matthiasnoback.nl/2021/09/where-do-types-come-from/
matthiasnoback.nl
Where do types come from?
Matthias Noback - Blog | About software development
В текущих версиях PHP, если попытаться записать в несуществующее свойство, то оно будет автоматически создано.
В современном коде это редко делается намеренно, чаще это опечатка или просто дурной тон.
В этом RFC предлагается задепрекейтить и впоследствии удалить возможность создания динамических (необъявленных) свойств.
Благодаря этому изменению в PHP 9.0 можно будет уменьшить размер объекта на 8 байт. На одном объекте это, конечно, ничто, но суммарно на больших приложениях будет заметно.
https://wiki.php.net/rfc/deprecate_dynamic_properties
В современном коде это редко делается намеренно, чаще это опечатка или просто дурной тон.
В этом 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
https://wiki.php.net/rfc/nullable_intersection_types
👋Что происходит на самом деле, когда вы клонируете объекты
https://doeken.org/blog/what-happens-when-we-clone
https://doeken.org/blog/what-happens-when-we-clone
doeken.org
What happens when we clone?
Cloning is a nice way of creating a quick copy of an object. But there are some things you need to be aware of!
👩🏻🦼Реализация SSH, SFTP, RSA / DSA / ELLIPTIC CURVES, AES / CHACHA20 / ETC, X.509 на чистом PHP
https://github.com/phpseclib/phpseclib
https://github.com/phpseclib/phpseclib
GitHub
GitHub - phpseclib/phpseclib: PHP Secure Communications Library
PHP Secure Communications Library. Contribute to phpseclib/phpseclib development by creating an account on GitHub.
В eloquent если явно не подтянуть связующую сущность $posts->with('author') то каждая итерация будет выполнять запрос к базе на получения автора
@foreach($posts as $post)
{{ $post->author->name }}
@endforeach
но бывает так, что забываешь указать relation и не замечаешь это в дибагбаре.
Но если в провайдере установить Model::preventLazyLoading(!app()->isProduction());
то при нахождении N+1 вы получите такой эксепшн, это очень помогает
Автор: @kurban_92
@foreach($posts as $post)
{{ $post->author->name }}
@endforeach
но бывает так, что забываешь указать relation и не замечаешь это в дибагбаре.
Но если в провайдере установить Model::preventLazyLoading(!app()->isProduction());
то при нахождении N+1 вы получите такой эксепшн, это очень помогает
Автор: @kurban_92
👖Инструмент для анализа зависимостей внутри проекта
https://github.com/paglliac/php-dependency-analysis
https://github.com/paglliac/php-dependency-analysis
GitHub
GitHub - paglliac/php-dependency-analysis: Library for check dependency between modules inside projects
Library for check dependency between modules inside projects - GitHub - paglliac/php-dependency-analysis: Library for check dependency between modules inside projects
🐨Сервер для дебага Laravel приложений и не только
https://butschster.medium.com/%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%B5%D0%B1%D0%B0%D0%B3%D0%B0-laravel-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B8-%D0%BD%D0%B5-%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-4fed54667099
https://butschster.medium.com/%D1%81%D0%B5%D1%80%D0%B2%D0%B5%D1%80-%D0%B4%D0%BB%D1%8F-%D0%B4%D0%B5%D0%B1%D0%B0%D0%B3%D0%B0-laravel-%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D0%B9-%D0%B8-%D0%BD%D0%B5-%D1%82%D0%BE%D0%BB%D1%8C%D0%BA%D0%BE-4fed54667099
Medium
Сервер для дебага Laravel приложений и не только.
Современный подход к дебагу php приложений во время разработки с помощью RayApp и RayServer
🦀Symfony Messenger в микросервисах: контракты сообщений и отказоустойчивость — Полезно про микросервисы и асинхронную коммуникацию.
https://medium.com/@dmitrii_tarasov/symfony-messenger-in-microservices-message-contracts-and-resilience-b9cc1a95fcf9
https://medium.com/@dmitrii_tarasov/symfony-messenger-in-microservices-message-contracts-and-resilience-b9cc1a95fcf9
Medium
Symfony Messenger in microservices: message contracts and resilience
Which PHP libraries do you use when building communication between microservices via message bus? Though this task does not sound uncommon…
🐌Создание RoadRunner плагина для Laravel Octane
https://medium.com/@SlyFireFox/laravel-octane-build-your-first-plugin-for-roadrunner-d8906f0f5926
https://medium.com/@SlyFireFox/laravel-octane-build-your-first-plugin-for-roadrunner-d8906f0f5926
Medium
Laravel Octane: Build your first plugin for RoadRunner
Hopefully in choosing to read this article you will have read my first article about compiling RoadRunner from source and now you want to…
🐍Позволяет динамически создавать цепочку задач для очереди
https://github.com/JustIversen/laravel-job-chainer
https://github.com/JustIversen/laravel-job-chainer
GitHub
GitHub - ephort/laravel-job-chainer: Chain Laravel jobs without having to glue it to a starting job
Chain Laravel jobs without having to glue it to a starting job - GitHub - ephort/laravel-job-chainer: Chain Laravel jobs without having to glue it to a starting job
🪳Примеры интеграции API Yii2 для кучи разных сервисов: Почта.ру, Сбербанк, ПриватБанк и много других
https://gitlab.com/users/dicr/projects
https://gitlab.com/users/dicr/projects
GitLab
Игорь Тарасов · GitLab
Linux SysAdmin, PHP Web Developer Like Yii2 !!! :)
🦘Об использовании абстракций PSR — Стоит ли на них завязываться, делать обертку или писать свое?
https://matthiasnoback.nl/2021/08/on-using-psr-abstractions/
https://matthiasnoback.nl/2021/08/on-using-psr-abstractions/
matthiasnoback.nl
On using PSR abstractions
Is it safe to depend on PSR abstraction packages? | Should a project have its own wrappers for PSR abstractions? | What about PSR abstractions that end up being outdated?