Официальный блог

В PHP-сообществе помимо выпусков PHP-дайджеста появилась добрая традиция проводить большой опрос и подводить итоги года. И все интересные и полезные нововведения языка с экосистемой и рекомендуемые вами ресурсы обсуждать в большом стриме. Пришла пора подвести новые итоги и рассказать, что было полезного в этот раз.

Продолжаем беспощадный цикл статей про работу с зависимостями. После знакомства с сущностямии сервисами и рассмотрения основных способов внедрения зависимостей сегодня мы применим всё это на практике. И выберем что, куда и когда нам будет более удобно внедрять.

Спонтанно выступил с докладом и заодно технически организовал трансляцию третьего митапа сообщества BeerPHP SPb. Понял, что проведение трансляции тренирует стрессоустойчивость, так как почти всё, что могло пойти с техникой не так, пошло не так. Но получилось отлично.

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

Недавно на Deworker провели большой стрим с планами по записи и перезаписи скринкастов на новый рабочий сезон этого и следующего года. Спасибо всем за ваши предложения по контенту! С вами мы сделали наши видео лучше, чем изначально планировали.

В серии скринкастов по разработке проекта на Slim и React мы полностью завершили реализацию аутентификации OAuth 2.0 на стороне бэкенда со многими нюансами, которые стоит учитывать. Получился интересный плейлист.

В нашей серии скринкастов мы ранее затронули практики непрерывной интеграции и доставки. И при рассмотрении этих CI/CD философий вместо классического подхода Feature Branches с созданием отдельных Git-веток для фич мы рассказали об альтернативном подходе Trank Based Development для скрытой разработки новой функциональности в основной Git-ветке. И в этом недавнем эпизоде мы применили это на практике.

Провели ленивый импровизированный стрим на общеполезные темы. Чем неудобен в разработке процедурный код и код без разделения. Какие сложности предметной области обнаруживаются при анализе бизнеса. Про сходства и различия фреймворков. Про использование интерфейсов и классов провайдеров для конфигурирования приложения и для организации гибкой модульности.

PHP-сообщество продолжает радовать своей активностью в проведении классных мероприятий. Перед каникулами провели большой опрос по итогам прошлого года. А теперь по итогам опроса решили провести большой стрим, на который пригласили активных участников.

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