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

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

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

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

РКН: https://gosuslugi.ru/snet/67a5d13cd6fa92100ee6f68b
加入频道
📌 Последовательности и прогрессии

Первое занятие нашего интенсива по математике доступно онлайн! Мы рассмотрели основные понятия о последовательностях и прогрессиях и разобрали несколько ключевых примеров.

https://youtu.be/OjQ75pKKhIw

Пройти весь курс: https://proglib.io/w/a9b8ca6a
#advanced #symfony

Свободный и объемный обзор компонента symfony/messenger. Данный компонент позволяет вам реализовать паттерн CQRS в вашем проекте.

https://proglib.io/w/189314a7
#framework_digest

Laravel:

1. В 9-ю версию одного из самых популярных и быстро меняющего версий развивающихся фреймворков предлагают добавить параллельный запуск тестов:
https://github.com/laravel/framework/pull/35778

Тесты должны стать быстрее. Если вам не терпится попробовать быстрые тесты уже сейчас, вы можете поставить ... Symfony. Это не совсем шутка, медленные тесты в Laravel связаны в основном с Eloquent, который не позволяет так просто замокать данные в тестах.

2. Один из недавно закрытых PR добавляет возможность запускать слушатели только после того, как текущая активная транзакция выполнится успешно: https://github.com/laravel/framework/pull/35434

Реализация странная, но возможность полезная.

3. Такой же PR есть и для очередей: https://github.com/laravel/framework/pull/35422

Аналогично предыдущему PR сообщения в очередь попадут только после завершения транзакции.

Symfony:

1. Планируется добавить транспорт для Kafka в symfony/messenger:
https://github.com/symfony/symfony/pull/39712

2. Еще один полезный PR в symfony/messenger, добавляющий RouterContextMiddleware, который позволит для асинхронных обработчиков получить доступ к возможностям роутера для генерации абсолютного урла, хоста и т.д, например, для генерации ссылки в письме: https://github.com/symfony/symfony/pull/39688

3. Интеграция компонента Notifier с MessageBus: https://github.com/symfony/symfony/pull/39353

4. Планируется добавить новый компонент Encryption: https://github.com/symfony/symfony/pull/39344. Компонент сделал Nyholm, так что, вероятнее всего, что он точно попадет в релиз одной из следующих версий фреймворка. К PR приложен подробный обзор, зачем нужен компонент и что использует, предлагаем ознакомиться.

5. Интересный спор на тему, нужно ли логаутить пользователя при смене его роли или нет: https://github.com/symfony/symfony/issues/39763

6. Ишьюс, автор которого предлагает добавить в Symfony компонент Scheduler: https://github.com/symfony/symfony/issues/39719. Пример реализации уже есть: https://github.com/Guikingone/symfony/tree/_component/scheduler/src/Symfony/Component/Scheduler. Аналогичный компонент давно существует в Laravel.
👍1
#advanced #laravel

Обзор компонента FormRequest от Laravel. Плюсы, минусы, минусы, минусы, ой, и устройство компонента изнутри.

https://proglib.io/w/bf832d65
Philosophy of Software Design.epub
703.9 KB
#advanced #book

Замечательная книга на тему разработки правильного ПО. В книге вы узнаете про сложность ПО и как ее контролировать, про модульность (что такое хороший модуль), какие бывают абстракции, что такое сокрытие информации и почему это важно, а также почему нейминг - одна из сложных и важных вещей в разработке программ с хорошим дизайном.
Подводим итоги 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