PHP best practices😏
Публичный пост
9 апреля 2021
916
здравствуйте 🙂
читал пост про python и подумал о php. почему бы и нет?
давайте возьмём версии 7+ и от уйдём от излишнего ругательства php 😉🙃
как обычно, можно так же поделиться блогами, книжками, видео, github и т. д.
надеюсь, обойдёмся без холиваров🙏🏻
Phpstan + psalm + linter + codesniffer + infection.
Все это в купе с тестами сильно поднимает качество кода, особенно если выкрутить на максимум infection.
помоему бест практис с пхп в 2021 - это поменять стек... :)
Ну в самых первых - PSR, а точнее PSR-12 как основа code style, ну и логгер, мидлваря, контейнер.
Codesniffer чтобы проверять code style, куча готовых проверок чтобы закрутить пожёстче есть тут slevomat/coding-standard.
Какой-то статический анализатор с поддержкой дженериков и расширенного описания массивов: PHPStan, Psalm.
Тесты писать: Codeception, PHPUnit, Infection. И, соответственно, писать тестируемый код, использовать Inversion of Control.
Использовать актуальную версию PHP (это 8 сейчас).
Отделять бизнес-логику от инфраструктуры.
Писать код в PHPStorm.
Инфраструктура - PHP-FPM + Nginx базово, для тех кому побыстрее можно и Swoole, Roadrunner, etc.
Настроить сам PHP (настроить opcache, выключить xdebug на проде, включить preload, включить jit).
https://deworker.pro
https://elisdn.ru
https://laracasts.com (Не стоит бояться, что на английском, воспринимается хорошо даже с не высоким уровнем. И много годноты не только по laravel) - ну если совсем тяжко - то качать английский
Python best practices
Дико рекомендую почитать Matthias Noback.
Очень хорошо на примерах PHP рассказывает про правильные подходы и как не стрелять себе в ноги
https://matthiasnoback.nl/books/
В принципе в предыдущих комментах уже много годноты накидали.
Добавлю сюда https://3v4l.org/ - онлайн REPL c over 300 версиями PHP.
Еще мне показался интересным Laravel Octane (https://github.com/laravel/octane) как попытка прикрутить Swoole/RoadRunner к популярному фреймворку и тем самым увеличить производительность.