PHP-BE1
311 subscribers
338 photos
11 videos
19 files
620 links
Канал по PHP, полезный и интересный контент для всех уровней.
По вопросам сотрудничества @cyberJohnny
Download Telegram
#library

Если у вас легаси и вам очень хочется перейти на новую версию php, но нет времени, используйте Rector. Если разработчики из вашей команды не могут договориться об общем code-style, а тратить время на ревью не хочется, используйте Rector.

https://github.com/rectorphp/rector
#advanced

В последнее время тема статического анализа очень популярна среди php разработчиков. Есть популярные инструменты вроде psalm, phpstan, phan и другие, которые помогают следить за выводом типов, за наличием безопасных проверок и многим другим. Но зачем это нужно разработчикам на языке с динамической типизацией? Об этом и многом другом вы узнаете из доклада.

https://www.youtube.com/watch?v=sf39f2q15cU
#junior

Отрывок из книги Матьяса Нобака "PHP для веба" про исключения и обработку ошибок. Будет полезно в основном начинающим разработчикам.

https://matthiasnoback.nl/2021/02/excerpt-php-for-the-web-error-handling/
#advanced

Сейчас активно развивается тренд про DDD, чистую архитектуру и другие методологии, частично или полностью проповедующие «очищение» бизнес-кода от инфраструктуры. Может показаться, что такие требования принуждают отказаться от фреймворка, однако это не так. Преимущества использования фреймворков хорошо описал Матьяс Нобак:

https://matthiasnoback.nl/2021/02/should-we-use-a-framework/
#advanced #library

Список стандартных функций из нестандартной библиотеки. В данной библиотеке реализованы практически все стандартные PHP функции, но с улучшенной типизацией, полностью покрытые статическим анализом и с некоторыми дополнительными возможностями: ассерт типов, проверка инвариантов и обработка ошибок.

https://github.com/azjezz/psl
#library

Если вы выбираете для себя библиотеку по конвертации html в markdown и обратно, в этой статье вы найдете список наиболее популярных библиотек со сравнительными характеристиками: самая быстрая, самая гибкая и наиболее поддерживающая все теги маркдауна библиотека.

https://php.watch/articles/php-markdown-libraries
#advanced

Матьяс Нобак учит, как тестировать контроллеры, если вы соблюдаете архитектуру Портов и Адаптеров в своем приложении.

https://matthiasnoback.nl/2021/03/testing-controllers-when-you-have-a-decoupled-core/
#advanced #rfc

Наконец-то. Rfc от Никиты Попова предлагает использовать выражения с new в свойствах (статических и нет):

class Test {
public static $prop = new Foo;
public $prop = new Foo;
}

https://wiki.php.net/rfc/new_in_initializers
#junior

Многие начинающие разработчики сталкиваются с непониманием работы сессий. И неудивительно, выбрав для первого изучения фреймворк, а не язык, разработчики упускают из виду самые основы веб-разработки. Эта исчерпывающая статья расскажет про нативный механизм сессий, про распространённые ошибки, про нестандартные возможности и многом другом.

https://anton.shevchuk.name/php/php-for-beginners-session/
#advanced

FFI уже давно зарелижен и используется самыми отъявленными разработчиками. Если вы не успеваете за событиями, предлагаем к прочтению исчерпывающую статью на данную тему:
https://thephp.website/en/issue/php-ffi/
#advanced #rfc

PHP все больше соответствует требованиям современных языков. Недавно в него добавили юнион-типы, укороченный конструктор, атрибуты. Теперь есть предложение добавить пересечение типов и короткие функции, как в котлине.

https://github.com/Girgias/intersection-types
https://wiki.php.net/rfc/short-functions
#advanced #async

Подробная статья от одного из активных популяризаторов асинхронного программирования с использованием ReactPHP Сергея Жука о том, что такое тики, таймеры и какое все это имеет отношения к асинхронщине.

https://sergeyzhuk.me/2017/09/25/reactphp-event-loop-ticks/