🧑🏻🔬Инструмент для поиска php файлов, которые требуют рефакторинга. Библиотека определяет это с помощью анализа чистоты изменений файла: если файл часто меняется, то он является кандидатом на рефакторинг.
https://github.com/bmitch/churn-php
https://github.com/bmitch/churn-php
GitHub
GitHub - bmitch/churn-php: Discover files in need of refactoring.
Discover files in need of refactoring. Contribute to bmitch/churn-php development by creating an account on GitHub.
🐌php-censor/phpdoc-checker - консольный инструмент для проверки докблоков в PHP коде
https://github.com/php-censor/phpdoc-checker
https://github.com/php-censor/phpdoc-checker
GitHub
GitHub - php-censor/phpdoc-checker: A simple tool for checking that your PHP classes and methods use PHPDocs (PHP DocBlock Checker…
A simple tool for checking that your PHP classes and methods use PHPDocs (PHP DocBlock Checker fork). - GitHub - php-censor/phpdoc-checker: A simple tool for checking that your PHP classes and me...
🧞Тест на знание языка PHP для начинающих.
https://proglib.io/tests/proydite-test-na-znanie-yazyka-programmirovaniya-rnr
https://proglib.io/tests/proydite-test-na-znanie-yazyka-programmirovaniya-rnr
Библиотека программиста
❓ Пройдите тест на знание языка программирования РНР
Настало время проверить уровень вашего знания основ PHP. Пройдите наш тест и узнайте, насколько хорошо вы владеете этим популярным языком программирования.
🧛🏻♀️Пилотный выпуск дайджеста от ребят из Spiral (которые RoadRunner сделали).
https://spiralscout.com/blog/spiral-digest-pilot-episode
https://spiralscout.com/blog/spiral-digest-pilot-episode
Spiral Scout's Company News
Spiral Digest. Pilot episode | Spiral Scout's Company News
Welcome to our first monthly news digest where we will discuss news and future plans around Spiral Scout’s open-source projects, including Spiral Framework, RoadRunner, and CycleORM. As always we welcome your feedback and would love to hear from you. Milestones...
🎅🏻Как сделать ваши URL-адреса не ломающимися в проекте laravel
https://benjamincrozat.com/en/blog/hXD0b8/how-to-make-unbreakable-urls-laravel-project
https://benjamincrozat.com/en/blog/hXD0b8/how-to-make-unbreakable-urls-laravel-project
🧦Статья о нововведениях в работе с супер глобальной переменной $_FILES в PHP 8.1
https://php.watch/versions/8.1/$_FILES-full-path
https://php.watch/versions/8.1/$_FILES-full-path
PHP.Watch
PHP 8.1: `$_FILES`: New `full_path` value for directory-uploads
Forwarded from Подкаст "Айти Духовка"
#2 Подкаст "Айти духовка"
Тема: Почему Python лучше чем PHP?
Гость: Мурад Абдусаламов (Python, Sanic, Django)
Дата: 3 октября 2021
Время: 16:00
Трансляция: https://news.1rj.ru/str/it_duhovka?voicechat
Тема: Почему Python лучше чем PHP?
Гость: Мурад Абдусаламов (Python, Sanic, Django)
Дата: 3 октября 2021
Время: 16:00
Трансляция: https://news.1rj.ru/str/it_duhovka?voicechat
🦉Матьяс Нобак отвечает на вопрос: «Тестировать хотя бы что-то лучше, чем не тестировать ничего?»
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