Блог - Symfony

Saint-Peterburg Symfony Meetup, 31 октября 2017

31го октября 2017 в Санкт-Петербурге состоялассь вторая встреча сообщества Symfoniacs - митап, посвященный PHP фреймворку Symfony. Митап проводился в офисе компании Datanyze на Херсонской 39. На самом деле, митап не столько даже о Symfony, сколько о разработке в целом.

Всего было 2 доклада. Первый доклад был про про Postgress от Руслана Ханова (Копания Яндекс). Доклад назывался "Postgres - универсальный провайдер данных".

Saint-Peterburg Symfony Meetup #4, 30 октября 2018

30 октября 2017 в Санкт-Петербурге состоялась четвертая встреча сообщества Symfoniacs - митап, посвященный PHP фреймворку Symfony.

Митап проводился в офисе компании PropellerAdds на ул. Профессра Попова 37Щ. Компания PropellerAdds занимается интернет рекламой и занимает практически весь 6й этаж Бизнес Центра. Офис выглядит довольно внушительно но, в то же время уютно. Запомнились панель мониторинга из 6 мониторов, шкаф с ноутбуками, висячее кресло.

Symfony St. Petersburg Meetup #7 - ITMO (24 oct 2019)

Всем привет! 24 октября 2019 в Санкт-Петербурге состоялась седьмая встреча сообщества Symfoniacs - митап, изначально посвященный PHP фреймворку Symfony. Последнее время Symfoniacs позиционируется, как соощество профессиональных PHP разработчиков не ограниченное рамками одного фреймворка.

Логгирование изменений сущностей в Symfony 4

Всем привет. Сегоня хотел бы поделиться опытом реализации истории изменения сущностей для symfony/doctrine. Основная идея в том, чтобы логгировать какой пользователь и когда создал, изменил или удалил сущность. И если поменял, то какие поля, какие значения были и какие стали после изменения.

SymСode St. Petersburg Meetup #8 - JetBrains (18 dec 2019)

Всем привет! 18 декабря 2019 в Санкт-Петербурге состоялась восьмая встреча сообщества SymCode. Организаторы Symfoniacs провели ребрединг, и теперь сообщество называется SymCode. Также у митапа появился новый логотип.

Сервис денежных транзакций

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

  • Реализовать возможность перевода средств между кошельками пользователей.
  • С каждой транзакции брать комиссию 1.5% в пользу системы.
  • Поддержка 2х валют: BTC(Bitcoin) и ETH(Ethereum).
  • Подготовить данные для демонстрации (несколько пользователей и кошельков)
  • Работа с системой осуществляется через REST API.
  • Подготовить docker сборку.

Форма регистрации на Symfony + VueJs

Всем привет! Некоторое время назад проходил собеседование в один проект. Собеседование проходило в несколько этапов и одним из них был livecoding.

Задание было не очень сложным - создать форму регистрации, работающую через ajax. Пользователь указывает email, username и пароль. Имя пользователя и email должны быть уникальными. Необходимо предусмотреть валидацию сложности пароля. В качестве стартовой точки дается пустой контроллер.

Настройка Github Actions для Symfony проекта

Всем привет! Сегодня хотел бы поделиться опытом настройки и использования Github Actions. Интерес и желание попробовать этот инструмент у меня появилось довольно давно. В коммерческих проектах давно уже используется CI/CD, docker контейнеры и т.д. А для своих проектов все как-то руки не доходили настроить.

Анализ покрытия кода тестами для PHP проекта

Всем привет! Сегодня хотел бы рассказать о настройке анализа покрытия кода тестами для PHP(Symfony) проекта. И последующую интеграцию с Github Actions.

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

Изначально настраивал для этого блога. Но затем, для большей наглядности, также настроил для одного из открытых проектов - placeholder-service.

Анализируем код PHP проекта c помощью Psalm

Всем привет! Сегодня хотел бы рассказать о настройке анализа кода PHP(Symfony) проекта c помощью Psalm. А также генерацию html отчета и последующую интеграцию с Github Actions.

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

Изначально настраивал для этого блога. Но затем, для большей наглядности, также настроил для одного из открытых проектов - placeholder-service.

Настройка PHP-CS-Fixer

Всем привет! Сегодня хотел бы рассказать о настройке PHP-CS-Fixer для PHP проекта. PHP-CS-Fixer используется для автоматического форматирования кода в соответствии с определенными правилами, к примеру, стандартами PSR.

С помощью PHP-CS-Fixer можно повысить качество кода. Соблюдение стандартов кодирования делает код проекта более читаемым и упрощает разработку. Кроме того, использование автоматического форматирования должно помочь упростить процесс code review.

Сервис feature-флагов

Всем привет! Сегодня хотел бы рассказать о создании простого сервиса для управления feature-флагами. Feature-флаги позволяют мгновенно включать и выключать определенный функционал в приложении. Для этого не требуется заново выкладывать или откатывать его. Достаточно включить или выключить определенный флаг. В то же время, в ключевых местах в коде добавляются проверки флагов.

К примеру, нужно добавить на сайт форму обратной связи. И в то же время нужно иметь возможность быстро откатить изменения. Для этого можно создать feature-флаг contact-form и проверять его при выводе формы и обработчика.

Фикстуры в Symfony + Codeception DataFactory

Всем привет. Сегодня хотел бы поделиться способом организации фикстур в Symfony приложении с помощью Codeception Doctrine2 модуля.

Фикстуры используются для генерации тестовых данных. Чаще всего, для тестовые данные бывают нужны для интеграционных тестов. В Symfony фикстуры реализованы в рамках DoctrineFixturesBundle.