Библиотека пхпшника | PHP, Laravel, Symfony, CodeIgniter
11.1K subscribers
1.46K photos
24 videos
26 files
4.16K links
Все самое полезное для пхпшника в одном канале.

По рекламе: @proglib_adv

Учиться у нас: https://proglib.io/w/bca892d6

Для обратной связи: @proglibrary_feeedback_bot

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
Download Telegram
Подводим итоги PHP-года и разыгрываем слона

Вместе с PHP-Дайджестом придумали опрос про 2020 год и PHP-сообщество. Приходи выбрать фреймворк года, персону года и самый огненный стрим.

По итогам сделаем подборки статей, докладов, каналов по PHP. Все результаты опубликуем на phpcommunity.ru и в статье на Хабре.

Опрос анонимный: оставляйте почту, только если хотите поучаствовать в розыгрыше фирменного пхп-слона.
#laravel #junior

Роадмап для начинающих Laravel разработчиков от 2020-го года, но актуален также и для нынешнего.

https://raw.githubusercontent.com/Hasnayeen/laravel-developer-roadmap/master/images/roadmap.png
#beginner

Сборник алгоритмов, написанных на PHP. Хоть пхпшнику очень редко приходится иметь дело с алгоритмами и сложными вычислениями, знать и уметь работать с алгоритмами важно для развития и поддержания кругозора, а ещё потому, что это основы CS.

https://github.com/doganoo/PHPAlgorithms
#symfony

PR в Symfony, который позволит генерировать уникальный CSRF токен на каждый запрос. Как написано в самом PR, это позволит усложнить так называемые BREACH атаки.

https://github.com/symfony/symfony/pull/39919
#advanced #hollywar


В Symfony есть замечательный компонент Request, который предоставляет правильный доступ к данным запроса. В Laravel же тоже есть такой компонент, который расширяет компонент Symfony, добавляя пару удачных методов и ворох ненужных возможностей (например, макросы). Наиболее полный обзор компонента можно увидеть в статье:

https://laravel-news.com/the-mighty-illuminate-request
#library #middle

Ocramius не только талантливый разработчик (автор Doctrine и ProxyManager), но и веселый парень, он вместе с roave, где сейчас работает, сделали пакет Dont: это простая библиотека с набором трейтов, которая запрещает использовать магические методы. Пожалуй, это лучшее применение трейтов из всех, что можно найти.

https://github.com/Roave/Dont
Какие медиа Вы читаете?

Пройдите короткий опрос и получите промокод 5% на все курсы Библиотеки программиста!

https://docs.google.com/forms/d/e/1FAIpQLSd3389cZTNhrnifV_5JaQuKVXzUFykk74Y-pK7jVioqlrV3lQ/viewform

Займет всего пару минут.
#advanced #composer

Надоело ждать PR в ваш любимый фреймворк или библиотеку? Особенно, если это PR в Laravel? Используйте плагин cweagans/composer-patches, который позволяет скачать патч из PR и начать его использовать как часть кода. Статья в поддержку идеи:

https://www.rias.be/blog/using-composer-patches
#advanced

Если ваш проект чуть больше, чем простой круд, то вы могли задуматься о правильном разделении зависимостей. Deptrac может помочь вам следить за тем, чтобы вы и разработчики из вашей команды не нарушали границ модулей вашего приложения.

https://github.com/sensiolabs-de/deptrac
#advanced #rfc

Черновик от Никиты Попова по добавлению аксессоров к свойствам объектов. Например, так может быть реализован доступ для получения свойства, но нельзя будет установить значение вне класса:

 User {
public string $name { get; private set; }

public function __construct(string $name) {
$this->name = $name;
}
}


Больше примеров в rfc:

https://wiki.php.net/rfc/property_accessors
#advanced #library

Если вы переживаете за типы и следите за их соответствие ожидаемым, можете воспользоваться библиотекой php-matcher. PhpMatcher позволяет вам описать, какие типы вы ожидаете, описать объединенные типы и проверить различные паттерны.

https://github.com/coduo/php-matcher
#library

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

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

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

https://github.com/azjezz/psl