zhub.link is one of the many independent Mastodon servers you can use to participate in the fediverse.

Administered by:

Server stats:

28
active users

#symfony

0 posts0 participants0 posts today
Habr<p>Symfony + React: Основные проблемы и методы их решения</p><p>Symfony и React – мощная связка для создания современных веб-приложений. Symfony, как PHP-фреймворк, обеспечивает надежный серверный бэкенд: работу с базой данных, бизнес-логику, REST API и безопасность. React же отвечает за динамичный интерфейс на стороне клиента, позволяя создавать богатые Single Page Application (SPA) с мгновенной реакцией на действия пользователя. Используя их вместе, разработчики получают гибкость разделения фронтенда и бэкенда , что упрощает поддержку и масштабирование. Например, бэкенд на Symfony можно переиспользовать для мобильного приложения или другого клиента, пока React обеспечивает отличное UX в браузере. Однако сочетание двух разных технологий несет и ряд вызовов. Нужно грамотно спроектировать API для связи между фронтом и бэком, обеспечить безопасный обмен данными и учесть особенности работы SPA (например, отсутствие перезагрузки страниц, хранение состояний на клиенте и пр.). Возникают вопросы: как организовать взаимодействие React-приложения с Symfony API? Как защитить API и пользовательские данные от угроз, таких как несанкционированный доступ или атаки? В этой статье мы рассмотрим основные проблемы интеграции Symfony + React, связанные с API и безопасностью, а также предложим практические методы их решения. Статья ориентирована на разработчиков от начинающих до среднего уровня и включает примеры кода и наглядные иллюстрации ключевых моментов.</p><p><a href="https://habr.com/ru/articles/887200/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/887200/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/react" class="mention hashtag" rel="tag">#<span>react</span></a> <a href="https://zhub.link/tags/api" class="mention hashtag" rel="tag">#<span>api</span></a> <a href="https://zhub.link/tags/cors" class="mention hashtag" rel="tag">#<span>cors</span></a> <a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/javascript" class="mention hashtag" rel="tag">#<span>javascript</span></a> <a href="https://zhub.link/tags/security" class="mention hashtag" rel="tag">#<span>security</span></a></p>
Habr<p>Ежегодный опрос PHP-сообщества: итоги 2024 года</p><p>2024 стал насыщенным годом для русскоязычного сообщества PHP-разработки. PHP Russia 2024, релизы PHP 8.4, Symfony 7.2 и Laravel 11. Как и в последние 4 года, мы провели масштабный опрос, чтобы узнать, чем живут разработчики, какие инструменты используют и куда движется индустрия. На этот раз своим мнением делились 1207 респондентов.</p><p><a href="https://habr.com/ru/articles/880552/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/880552/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/laravel" class="mention hashtag" rel="tag">#<span>laravel</span></a> <a href="https://zhub.link/tags/%D0%B8%D1%82%D0%BE%D0%B3%D0%B8_%D0%B3%D0%BE%D0%B4%D0%B0" class="mention hashtag" rel="tag">#<span>итоги_года</span></a> <a href="https://zhub.link/tags/Yii" class="mention hashtag" rel="tag">#<span>Yii</span></a> <a href="https://zhub.link/tags/%D0%92%D0%B5%D0%B1%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0" class="mention hashtag" rel="tag">#<span>Вебразработка</span></a> <a href="https://zhub.link/tags/stateofphp" class="mention hashtag" rel="tag">#<span>stateofphp</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a></p>
Habr<p>Переход на Symfony в заскорузлом Yii2 монолите: подробный разбор</p><p>Полгода назад мне посчастливилось решать интересную и нетипичную задачу по затаскиванию Symfony в Yii2 монолит. В данном материале я подробно и пошагово распишу весь процесс решения этой задачи с пояснениями, почему были выбраны именно такие решения и как это работает.</p><p><a href="https://habr.com/ru/articles/880196/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/880196/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/yii2" class="mention hashtag" rel="tag">#<span>yii2</span></a> <a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%BE%D0%BD%D0%BE%D0%BB%D0%B8%D1%82" class="mention hashtag" rel="tag">#<span>монолит</span></a> <a href="https://zhub.link/tags/%D1%84%D1%80%D0%B5%D0%B9%D0%BC%D1%84%D0%BE%D1%80%D0%BA%D0%B8" class="mention hashtag" rel="tag">#<span>фреймфорки</span></a></p>
Symfony<p>🌟 Symfony 7.2.3 released<br>➡️ <a href="https://symfony.com/blog/symfony-7-2-3-released" rel="nofollow noopener noreferrer" translate="no" target="_blank"><span class="invisible">https://</span><span class="ellipsis">symfony.com/blog/symfony-7-2-3</span><span class="invisible">-released</span></a><br><a href="https://mastodon.social/tags/symfony" class="mention hashtag" rel="nofollow noopener noreferrer" target="_blank">#<span>symfony</span></a></p>
Habr<p>[Перевод] Создаем мультитенантные Symfony-приложения с помощью Ecotone</p><p>Способ реализации мультитенантности (multitenancy, мультиарендности) зависит от сферы деятельности, в которой мы работаем. В некоторых случаях нам может хватать одной общей базы данных, а в некоторых нам могут потребоваться отдельные базы данных для полной изоляции. У нас может быть всего пара арендаторов (tenants, тенантов) или же наоборот сотни, нам может потребоваться замедлить или ускорить производительность для конкретного арендатора. Все это создает уникальную среду, в которой мультитенантность является не только техническим вопросом, но и вопросом бизнес‑логики. Данная статья представляет из себя практическое руководство, после изучения которого вы узнаете, как и зачем следует применять мультитенантность для различных сценариев в вашем проекте.</p><p><a href="https://habr.com/ru/companies/otus/articles/877348/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/otus/art</span><span class="invisible">icles/877348/</span></a></p><p><a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/%D0%BC%D1%83%D0%BB%D1%8C%D1%82%D0%B8%D1%82%D0%B5%D0%BD%D0%B0%D0%BD%D1%82%D0%BD%D1%8B%D0%B5_%D0%BF%D1%80%D0%B8%D0%BB%D0%BE%D0%B6%D0%B5%D0%BD%D0%B8%D1%8F" class="mention hashtag" rel="tag">#<span>мультитенантные_приложения</span></a> <a href="https://zhub.link/tags/Ecotone" class="mention hashtag" rel="tag">#<span>Ecotone</span></a> <a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/%D0%B2%D0%B5%D0%B1%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0" class="mention hashtag" rel="tag">#<span>вебразработка</span></a></p>
Habr<p>Дайджест новостей по PHP, Laravel и Symfony за декабрь&#39;2024</p><p>Привет, Хабр! Сергей Пантелеев, Кирилл Несмеянов и Данил Щуцкий собрали новости за декабрь в PHP, Symfony и Laravel (соответственно). Всё самое интересное. Если вы хотите быть в теме происходящего, этот материал точно для вас. 🚀</p><p><a href="https://habr.com/ru/articles/871542/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/871542/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/laravel" class="mention hashtag" rel="tag">#<span>laravel</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/%D0%B4%D0%B0%D0%B9%D0%B4%D0%B6%D0%B5%D1%81%D1%82" class="mention hashtag" rel="tag">#<span>дайджест</span></a> <a href="https://zhub.link/tags/%D0%B4%D0%B0%D0%B9%D0%B4%D0%B6%D0%B5%D1%81%D1%82_php" class="mention hashtag" rel="tag">#<span>дайджест_php</span></a> <a href="https://zhub.link/tags/cutcode" class="mention hashtag" rel="tag">#<span>cutcode</span></a></p>
Habr<p>Записки разработчика: airflow-&gt;symfony-console-&gt;bitrix agents</p><p>Всем привет, случалось такое, что вам надо поставить кучу агентов битрикса на крон, а потом сидеть и разбираться - сколько они отрабатывают, отрабатывают ли вообще, когда падают или зависают? Ну конечно случалось. Так вот, чтобы получить визуальное представление о том, что там происходит, было принято решение, вынести агенты даже не на крон, а на apache airflow. Поведаю вам, как это было реализовано. Агенты По факту, агенты - это выполнение php команд по-расписанию. Но мы пойдем дальше и выделим их в отдельную сущность, в классы с расширением Agents.php Создадим интерфейс для агентов</p><p><a href="https://habr.com/ru/articles/868042/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/868042/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/bitrix" class="mention hashtag" rel="tag">#<span>bitrix</span></a> <a href="https://zhub.link/tags/airflow" class="mention hashtag" rel="tag">#<span>airflow</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a></p>
Habr<p>ResultTransformer в Symfony проектах</p><p>Symfony со стандартным набором “батареек” представляет из себя монструозное решение, способное реализовать если и не любые, то очень многие задачи бизнеса. Поделюсь подходом, о котором не каждый symfony-разработчик слышал, а если и слышал, то разве что вскользь и навряд ли использовал этот метод в разработке. Думаю, пришла пора пролить свет на эту темную сторону. Всем привет, меня зовут Горелов Кирилл, я бэкенд-разработчик и я обожаю symfony-фреймворк. Поговорим про возможность doctrine, которая позволяет возвращать нам готовую DTO, избавляя программиста от ручного труда и делая всю работу за него. Описанный подход под названием ResultTransformer — это термин, который описывает процесс преобразования данных в DTO. Конечно же, вам не стоит бежать переписывать свой код, у этого подхода есть ряд ограничений, а местами он слишком избыточный и использовать его стоит лишь в некоторых кейсах. Итак, приступим.</p><p><a href="https://habr.com/ru/companies/first/articles/863986/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/first/ar</span><span class="invisible">ticles/863986/</span></a></p><p><a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/doctrine2" class="mention hashtag" rel="tag">#<span>doctrine2</span></a></p>
Habr<p>Дайджест новостей по PHP, Symfony и Laravel за ноябрь&#39;2024</p><p>Привет Хабр! Сергей Пантелеев, Кирилл Несмеянов и Данил Щуцкий собрали новости за ноябрь в PHP, Symfony и Laravel (соответственно). Всё самое интересное. Если вы хотите быть в теме происходящего, этот материал точно для вас. 🚀</p><p><a href="https://habr.com/ru/articles/864866/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/864866/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/laravel" class="mention hashtag" rel="tag">#<span>laravel</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/%D0%B4%D0%B0%D0%B9%D0%B4%D0%B6%D0%B5%D1%81%D1%82_symfony" class="mention hashtag" rel="tag">#<span>дайджест_symfony</span></a> <a href="https://zhub.link/tags/%D0%B4%D0%B0%D0%B9%D0%B4%D0%B6%D0%B5%D1%81%D1%82_laravel" class="mention hashtag" rel="tag">#<span>дайджест_laravel</span></a> <a href="https://zhub.link/tags/%D0%B4%D0%B0%D0%B9%D0%B4%D0%B6%D0%B5%D1%81%D1%82_php" class="mention hashtag" rel="tag">#<span>дайджест_php</span></a> <a href="https://zhub.link/tags/%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8_laravel" class="mention hashtag" rel="tag">#<span>новости_laravel</span></a> <a href="https://zhub.link/tags/%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8_synfony" class="mention hashtag" rel="tag">#<span>новости_synfony</span></a> <a href="https://zhub.link/tags/%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8_php" class="mention hashtag" rel="tag">#<span>новости_php</span></a> <a href="https://zhub.link/tags/cutcode" class="mention hashtag" rel="tag">#<span>cutcode</span></a></p>
Habr<p>250 000 товаров и миллионы характеристик: как мы скрестили Битрикс с Symfony и MongoDB</p><p>10 лет назад мы начинали бизнес студии с разработки сайтов на CMS 1С-Битрикс. Сегодня наш основной стек связан с подходом Single Page Application на Symfony и Nuxt, но клиенты по-прежнему просят сайты на Битриксе . Отказываться от работы не хочется, однако приходится обходить ограничения Битрикса, чтобы делать быстрые и качественные продукты. В этой статье о том, как мы написали сервис для обработки больших объемов данных на Symfony и MongoDB и интегрировали его с 1С-Битрикс .</p><p><a href="https://habr.com/ru/articles/863384/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/863384/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/1%D1%81%D0%B1%D0%B8%D1%82%D1%80%D0%B8%D0%BA%D1%81" class="mention hashtag" rel="tag">#<span>1сбитрикс</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/mongodb" class="mention hashtag" rel="tag">#<span>mongodb</span></a> <a href="https://zhub.link/tags/ecommerce" class="mention hashtag" rel="tag">#<span>ecommerce</span></a> <a href="https://zhub.link/tags/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%BD%D0%B5%D1%82%D0%BC%D0%B0%D0%B3%D0%B0%D0%B7%D0%B8%D0%BD" class="mention hashtag" rel="tag">#<span>интернетмагазин</span></a> <a href="https://zhub.link/tags/%D0%B8%D0%BD%D1%82%D0%B5%D0%B3%D1%80%D0%B0%D1%86%D0%B8%D0%B8" class="mention hashtag" rel="tag">#<span>интеграции</span></a></p>
Habr<p>Дайджест новостей по Symfony за октябрь&#39;2024 с Кириллом Несмеяновым</p><p>Обзор новостей по Symfony за октябрь. В этом обзоре Кирилл Несмеянов разберет нововведения: от полезных правил валидации Week и WordCount до именованных сериализаторов и улучшений в компоненте Messenger. Узнаете про обновления в системе переводов, работе с контейнером и Expression Language. А еще - про возможность отправлять уведомления прямо на рабочий стол. Самое время узнать, какие инструменты добавились в арсенал Symfony-разработчика!</p><p><a href="https://habr.com/ru/articles/859224/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/859224/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/%D0%B4%D0%B0%D0%B9%D0%B4%D0%B6%D0%B5%D1%81%D1%82_symfony" class="mention hashtag" rel="tag">#<span>дайджест_symfony</span></a> <a href="https://zhub.link/tags/symfony_%D0%B4%D0%B0%D0%B9%D0%B4%D0%B6%D0%B5%D1%81%D1%82" class="mention hashtag" rel="tag">#<span>symfony_дайджест</span></a> <a href="https://zhub.link/tags/%D0%BD%D0%BE%D0%B2%D0%BE%D1%81%D1%82%D0%B8_synfony" class="mention hashtag" rel="tag">#<span>новости_synfony</span></a> <a href="https://zhub.link/tags/%D0%9A%D0%B8%D1%80%D0%B8%D0%BB%D0%BB_%D0%9D%D0%B5%D1%81%D0%BC%D0%B5%D1%8F%D0%BD%D0%BE%D0%B2" class="mention hashtag" rel="tag">#<span>Кирилл_Несмеянов</span></a> <a href="https://zhub.link/tags/cutcode" class="mention hashtag" rel="tag">#<span>cutcode</span></a></p>
Habr<p>Применение статических анализаторов архитектуры на примере гексагональной архитектуры</p><p>Отсутствие четкой структурированной архитектуры проектов — не редкость в ИТ. Одни этим пренебрегают из-за маленького масштаба проекта, другие — из-за сжатых сроков разработки, третьи — из-за отсутствия экспертизы в этом вопросе. Вместе с тем, движение по этому пути — практически всегда история с «отложенными последствиями»: со временем такие проекты становится сложно поддерживать, масштабировать, администрировать и фиксить. Меня зовут Никита Дергачев. Я Teamlead COOL TEAM в MedTech компании СберЗдоровье. В этой статье я расскажу, почему важно структурировано выстраивать архитектуру проектов, а также покажу на примере, с помощью каких инструментов можно отслеживать соответствие архитектуры изначальным требованиям.</p><p><a href="https://habr.com/ru/companies/docdoc/articles/856978/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="ellipsis">habr.com/ru/companies/docdoc/a</span><span class="invisible">rticles/856978/</span></a></p><p><a href="https://zhub.link/tags/%D1%81%D1%82%D0%B0%D1%82%D0%B8%D1%81%D1%82%D0%B8%D1%87%D0%B5%D1%81%D0%BA%D0%B8%D0%B9_%D0%B0%D0%BD%D0%B0%D0%BB%D0%B8%D0%B7" class="mention hashtag" rel="tag">#<span>статистический_анализ</span></a> <a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/phpstan" class="mention hashtag" rel="tag">#<span>phpstan</span></a> <a href="https://zhub.link/tags/%D0%B3%D0%B5%D0%BA%D1%81%D0%B0%D0%B3%D0%BE%D0%BD%D0%B0%D0%BB%D1%8C%D0%BD%D0%B0%D1%8F_%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0" class="mention hashtag" rel="tag">#<span>гексагональная_архитектура</span></a> <a href="https://zhub.link/tags/ddd" class="mention hashtag" rel="tag">#<span>ddd</span></a></p>
Habr<p>Laravel в 2024: статистика и тренды</p><p>Нашел интересную статью со статистикой по Laravel за 2024 год и решил поделиться ей с вами. Признаюсь честно, когда я начинал работать с Laravel (лет 5 назад), я и представить не мог, насколько этот фреймворк станет популярным. Давайте посмотрим, что говорят цифры!</p><p><a href="https://habr.com/ru/articles/855376/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/855376/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/laravel" class="mention hashtag" rel="tag">#<span>laravel</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/moonshine" class="mention hashtag" rel="tag">#<span>moonshine</span></a> <a href="https://zhub.link/tags/moonshine_laravel" class="mention hashtag" rel="tag">#<span>moonshine_laravel</span></a> <a href="https://zhub.link/tags/yii" class="mention hashtag" rel="tag">#<span>yii</span></a> <a href="https://zhub.link/tags/cutcode" class="mention hashtag" rel="tag">#<span>cutcode</span></a></p>
Habr<p>Подключение сторонних PHP библиотек в Joomla</p><p>PHP библиотеки удобны тем, что к ним можно обращаться из любого места Приложения: из плагина, модели компонента, модуля и т.д. В случае, если подобную задачу кто-то уже решал и оформил в виде библиотеки (и даже обновляет её) - имеет смысл подключить в свою Joomla эту библиотеку. Например, вам для разработки способа оплаты интернет-магазина нужна официальная библиотека платёжного агрегатора. Или вас устраивает официальный PHP SDK какой-нибудь CRM.</p><p><a href="https://habr.com/ru/articles/851520/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/851520/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/joomla" class="mention hashtag" rel="tag">#<span>joomla</span></a> <a href="https://zhub.link/tags/php_sdk" class="mention hashtag" rel="tag">#<span>php_sdk</span></a> <a href="https://zhub.link/tags/php_library" class="mention hashtag" rel="tag">#<span>php_library</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/joomla_4" class="mention hashtag" rel="tag">#<span>joomla_4</span></a> <a href="https://zhub.link/tags/joomla_5" class="mention hashtag" rel="tag">#<span>joomla_5</span></a> <a href="https://zhub.link/tags/%D0%B1%D0%B8%D0%B1%D0%BB%D0%B8%D0%BE%D1%82%D0%B5%D0%BA%D0%B8" class="mention hashtag" rel="tag">#<span>библиотеки</span></a> <a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0" class="mention hashtag" rel="tag">#<span>разработка</span></a></p>
Habr<p>Повышаем читаемость Symfony DI</p><p>Привет! Я разрабатываю приложения на Symfony и хочу поделиться проблемами, с которыми сталкивался при использовании Symfony DI, а также дать несколько советов которые, как мне кажется, будут полезны при разработки больших приложений. Кратко я упоминал о них в этой статье , и здесь хочу развернуть мысль и поговорить подробнее.</p><p><a href="https://habr.com/ru/articles/833134/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/833134/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/dependency_injection" class="mention hashtag" rel="tag">#<span>dependency_injection</span></a> <a href="https://zhub.link/tags/di" class="mention hashtag" rel="tag">#<span>di</span></a></p>
Habr<p>Ещё одна статья: собеседование Senior PHP</p><p>Доброго времени суток, я Едифанов Виталий, являюсь CEO своей компании MediaRise , решил собрать распространённые вопросы для интервью PHP Senior разработчика.</p><p><a href="https://habr.com/ru/articles/828324/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/828324/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/%D0%B8%D0%BD%D1%82%D0%B5%D1%80%D0%B2%D1%8C%D1%8E" class="mention hashtag" rel="tag">#<span>интервью</span></a> <a href="https://zhub.link/tags/%D1%81%D0%BE%D0%B1%D0%B5%D1%81%D0%B5%D0%B4%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5" class="mention hashtag" rel="tag">#<span>собеседование</span></a> <a href="https://zhub.link/tags/backend%D1%80%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0" class="mention hashtag" rel="tag">#<span>backendразработка</span></a> <a href="https://zhub.link/tags/%D1%8F_%D0%BF%D0%B8%D0%B0%D1%80%D1%8E%D1%81%D1%8C" class="mention hashtag" rel="tag">#<span>я_пиарюсь</span></a> <a href="https://zhub.link/tags/%D0%B0%D1%80%D1%85%D0%B8%D1%82%D0%B5%D0%BA%D1%82%D1%83%D1%80%D0%B0" class="mention hashtag" rel="tag">#<span>архитектура</span></a> <a href="https://zhub.link/tags/ddd" class="mention hashtag" rel="tag">#<span>ddd</span></a> <a href="https://zhub.link/tags/laravel" class="mention hashtag" rel="tag">#<span>laravel</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%B8%D0%BA%D1%80%D0%BE%D1%81%D0%B5%D1%80%D0%B2%D0%B8%D1%81%D1%8B" class="mention hashtag" rel="tag">#<span>микросервисы</span></a></p>
Habr<p>Пример своего транспорта для Symfony Messenger</p><p>В процессе изучения Symfony Messenger мной было создано два самодостаточных примера, демонстрирующих его работу (описаны в отдельных статьях). В каждом из этих учебных примеров в качестве транспорта сообщений для простоты была выбрана БД SQLite. Готовой реализации транспорта именно для SQLite я не нашёл и пришлось её использовать через DBAL Doctrine. И всё бы ничего, но внутренний перфекционист :-) нашёптывал, что использование целой Доктрины лишь для того, чтобы работать с одной-единственной таблицей с очередями сообщений — это явный перебор… Бороться с затерроризировавшим меня внутренним перфекционистом ;-) я не стал и, решив поглубже разобраться с устройством транспорта сообщений в Symfony Messenger, создал такой транспорт для SQLite сам, с использованием PDO. А заодно потестировал производительность самопального решения и решения на Doctrine (на HDD и на RAM drive). Читать про SQLite транспорт для Messenger</p><p><a href="https://habr.com/ru/articles/820423/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/820423/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/symfonymessenger" class="mention hashtag" rel="tag">#<span>symfonymessenger</span></a> <a href="https://zhub.link/tags/messages_queue" class="mention hashtag" rel="tag">#<span>messages_queue</span></a> <a href="https://zhub.link/tags/transport" class="mention hashtag" rel="tag">#<span>transport</span></a> <a href="https://zhub.link/tags/sqlite" class="mention hashtag" rel="tag">#<span>sqlite</span></a> <a href="https://zhub.link/tags/pdo" class="mention hashtag" rel="tag">#<span>pdo</span></a> <a href="https://zhub.link/tags/transactions" class="mention hashtag" rel="tag">#<span>transactions</span></a> <a href="https://zhub.link/tags/workers" class="mention hashtag" rel="tag">#<span>workers</span></a> <a href="https://zhub.link/tags/sqlite3" class="mention hashtag" rel="tag">#<span>sqlite3</span></a></p>
Habr<p>Пример использования Workerman и Symfony Messenger</p><p>Недавно мной был создан самодостаточный пример совместной работы компонентов Symfony Messenger и Symfony Console, подробно описанный в статье <a href="https://habr.com/ru/articles/817425/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/817425/</span><span class="invisible"></span></a> . Для демонстрации работы этого примера нужно вручную запустить несколько консолей (терминалов), а потом в каждой вручную запустить Worker. Мой внутренний перфекционист :-) сильно против этого возражал и говорил «а вот бы все эти консоли-терминалы запускались одной командой, в нужном количестве, сразу с Worker’ами, а если какой Worker упадёт, то заново запускались в нужном количестве». Возражать своему внутреннему перфекционисту я не стал и создал ещё один пример работы Symfony Messenger, который запускается Worker’ами из PHP фреймворка Workerman . При этом Symfony Console вообще не используется. Пример: Workerman и Symfony Messenger</p><p><a href="https://habr.com/ru/articles/819187/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/819187/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/worker" class="mention hashtag" rel="tag">#<span>worker</span></a> <a href="https://zhub.link/tags/workerman" class="mention hashtag" rel="tag">#<span>workerman</span></a> <a href="https://zhub.link/tags/symfony_components" class="mention hashtag" rel="tag">#<span>symfony_components</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/phpfpm" class="mention hashtag" rel="tag">#<span>phpfpm</span></a> <a href="https://zhub.link/tags/symfonymessenger" class="mention hashtag" rel="tag">#<span>symfonymessenger</span></a> <a href="https://zhub.link/tags/%D0%B0%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C_%D0%B2_php" class="mention hashtag" rel="tag">#<span>асинхронность_в_php</span></a> <a href="https://zhub.link/tags/multithreading" class="mention hashtag" rel="tag">#<span>multithreading</span></a></p>
Habr<p>Простой пример использования Symfony Messenger</p><p>Пришёл и мой черёд асинхронно и многопоточно средствами PHP кое-что пообрабатывать… И я, естественно, вспомнил про компонент Messenger фреймворка Symfony. Ранее я никогда Symfony Messenger не использовал. Чтобы понять, как с ним работать, я пытался найти какой-то простой, законченный и самодостаточный пример, понятный даже чайнику, но мне это не удалось... Всё, что находилось, было либо слишком сложным, либо это были какие-то отдельные куски кода, понятные только тем, кто уже работал с Symfony Messenger. К тому же всё, что находилось, в основном было &quot;заточено&quot; либо под Redis, либо под RabbitMQ. установка которых как-то немного перебор для учебного примера… В-общем, я создал и выложил на GitHub такой простой, законченный и самодостаточный пример работы Symfony Messenger совместно с Symfony Console. Посмотреть пример работы Symfony Messenger</p><p><a href="https://habr.com/ru/articles/817425/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/817425/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/symfonymessenger" class="mention hashtag" rel="tag">#<span>symfonymessenger</span></a> <a href="https://zhub.link/tags/symfony_console" class="mention hashtag" rel="tag">#<span>symfony_console</span></a> <a href="https://zhub.link/tags/%D0%B0%D1%81%D0%B8%D0%BD%D1%85%D1%80%D0%BE%D0%BD%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>асинхронность</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D0%BE%D1%81%D1%82%D1%8C" class="mention hashtag" rel="tag">#<span>многопоточность</span></a> <a href="https://zhub.link/tags/%D0%BC%D0%BD%D0%BE%D0%B3%D0%BE%D0%BF%D0%BE%D1%82%D0%BE%D1%87%D0%BD%D1%8B%D0%B9" class="mention hashtag" rel="tag">#<span>многопоточный</span></a> <a href="https://zhub.link/tags/doctrine" class="mention hashtag" rel="tag">#<span>doctrine</span></a> <a href="https://zhub.link/tags/sqlite" class="mention hashtag" rel="tag">#<span>sqlite</span></a> <a href="https://zhub.link/tags/sqlite3" class="mention hashtag" rel="tag">#<span>sqlite3</span></a></p>
Habr<p>Полезные практики написания поддерживаемого кода на PHP</p><p>Привет, меня зовут Алексей и я должен признаться, я PHP разработчик. Последние несколько лет плотно занимаюсь проектамиь на symfony и решил поделиться с сообществом практиками, которые стараюсь соблюдать при работе. Многие из них довольно спорные, для дискуссии добро пожаловать в комментарии.</p><p><a href="https://habr.com/ru/articles/814995/" target="_blank" rel="nofollow noopener noreferrer" translate="no"><span class="invisible">https://</span><span class="">habr.com/ru/articles/814995/</span><span class="invisible"></span></a></p><p><a href="https://zhub.link/tags/php" class="mention hashtag" rel="tag">#<span>php</span></a> <a href="https://zhub.link/tags/symfony" class="mention hashtag" rel="tag">#<span>symfony</span></a> <a href="https://zhub.link/tags/dependency_injection" class="mention hashtag" rel="tag">#<span>dependency_injection</span></a> <a href="https://zhub.link/tags/best_practices" class="mention hashtag" rel="tag">#<span>best_practices</span></a> <a href="https://zhub.link/tags/%D1%87%D0%B8%D1%81%D1%82%D1%8B%D0%B9_%D0%BA%D0%BE%D0%B4" class="mention hashtag" rel="tag">#<span>чистый_код</span></a></p>