Как стать автором
Поиск
Написать публикацию
Обновить
7.3

Symfony *

Свободный фреймворк, написанный на PHP5

Сначала показывать
Порог рейтинга
Уровень сложности

Асинхронность, конкурентность, параллельность, многопоточность — разбираемся «по понятиям» :)

Время на прочтение15 мин
Количество просмотров29K

Эта статья представляет собой краткий (шутка!) конспект одноименного (почти) вебинара, недавно проведенного автором.

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

Ну и немного раскрыть глаза на то, что, оказывается в PHP есть и асинхронность, и многопоточность, и в общем-то не нужно ждать мифической версии PHP 10, чтобы начать их использовать уже прямо сейчас!

Лонг-рид с кодом ждёт вас!

SingleA: доменный SSO своими руками

Время на прочтение31 мин
Количество просмотров5.6K

SingleA — это набор Symfony бандлов, которые позволяют развернуть свой PHP’шный SSO, реализующий фреймворк SingleAuth. Тот, в свою очередь, позволяет пользователям веб-приложений, живущих на общем домене (2 уровня и выше) перестать повторно ходить на SSO после того, как они один раз уже залогинились (даже ради простого редиректа).

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

Читать далее

PHP Дайджест № 222/3 (26 марта – 25 апреля 2022)

Время на прочтение4 мин
Количество просмотров6.3K

Дисклеймер: Нет, это не дайджест авторства Романа Пронского. К сожалению, у меня нет достоверной информации - будет ли выходить его дайджест далее.

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

Если Роман сможет и захочет далее продолжать свой дайджест - он сам решит, как использовать мой текст: взять в свой проект, как его часть или нет. На всякий случай я ставлю нумерацию дайджеста через дробь. Однако не претендуя при этом на продолжение оригинального проекта.

Читать далее

PHP Дайджест № 222/2 (22 февраля – 25 марта 2022)

Время на прочтение4 мин
Количество просмотров7.5K

Дисклеймер: Нет, это не дайджест авторства Романа Пронского. К сожалению, у меня нет достоверной информации - будет ли выходить его дайджест далее.

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

Если Роман сможет и захочет далее продолжать свой дайджест - он сам решит, как использовать мой текст: взять в свой проект, как его часть или нет. На всякий случай я ставлю нумерацию дайджеста через дробь. Однако не претендуя при этом на продолжение оригинального проекта.

Читать далее

Готовимся к собеседованию по PHP: Что такое «DI», «Container», «Auto-wiring» за семь простых шагов

Время на прочтение10 мин
Количество просмотров51K

Статья написана для начинающих разработчиков на языке PHP, чтобы помочь им усвоить понятия, нужные для понимания того, как устроены и работают современные фреймворки на PHP: Dependency Injection, Container, Auto-wiring.

Автор надеется, что прочтение статьи поможет вам разобраться в этих вопросах и подготовиться к собеседованию или освоению нового фреймворка.

Статья продолжает цикл статей под условным названием "Готовимся к собеседованию".

Читать далее

PHP Дайджест № 222 (7 – 21 февраля 2022)

Время на прочтение5 мин
Количество просмотров14K


Подборка свежих новостей, инструментов, видео и материалов из мира PHP.

Приятного чтения!
Читать дальше →

PHP Дайджест № 221 (24 января – 7 февраля января 2022)

Время на прочтение4 мин
Количество просмотров11K
.

Подборка свежих новостей, инструментов, видео и материалов из мира PHP.

Приятного чтения!
Читать дальше →

PHP Дайджест № 220 (10 – 24 января 2022)

Время на прочтение3 мин
Количество просмотров12K
Картинка Vincent Pontier.

Подборка свежих новостей, инструментов и материалов из мира PHP.

Приятного чтения!
Читать дальше →

Symfony Panther: зверь в мире тестирования

Время на прочтение5 мин
Количество просмотров4.8K

Тестирование приложения — это не самое простое занятие на земле, не самый быстрый процесс и не самая захватывающая часть процесса разработка приложения. Но это необходимо. Вы не можете позволить себе рисковать стабильностью вашего приложения — если оно начнет крашиться, то вы потеряете пользователей, а заодно и деньги. Добавление нового кода в вашу продукцию не должно быть поводом для стресса. По этой причине и существуют тесты, которые проверяют отсутствие регрессии вашего приложения. Если ваш продукт покрыт тестами (и если вы написали хорошие тесты, что в свою очередь является еще одной обширной темой), вы будете намного увереннее добавлять новые фичи и исправления в свой продукт, не опасаясь что-нибудь сломать.

Читать далее

Рейт-лимитинг ваших Symfony API

Время на прочтение5 мин
Количество просмотров4K

В процессе разработке у вас может возникнуть необходимость наложить на API какой-нибудь кастомный рейт-лимит (то есть ограничить количество запросов для пользователей API). В этой статье я покажу, как можно объединить компонент symfony/rate-limiter со стандартными контроллерами.

Читать далее

PHP Дайджест № 219 (1 – 10 января 2022)

Время на прочтение3 мин
Количество просмотров13K
Фото David Stockton.

Подборка свежих новостей, инструментов и материалов из мира PHP.

Приятного чтения!
Читать дальше →

Большой PHP-опрос: первые 2к ответов и призы участникам

Время на прочтение2 мин
Количество просмотров4.1K

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

Читать далее

PHP Дайджест № 218 (13 – 27 декабря 2021)

Время на прочтение4 мин
Количество просмотров11K


Подборка свежих новостей и материалов из мира PHP.

В выпуске: Composer 2.2, Cycle 2.0, обновления актуальных веток PHP и другие релизы; конкурс с подведением итогов года; пачка интересных статей, инструменты, видео и другие новости сообщества.

Приятного чтения!
Читать дальше →

Ближайшие события

Стоит ли учить PHP в 2022 году

Время на прочтение11 мин
Количество просмотров59K

IT-индустрия – динамичная сфера, где новые технологии и решения могут кардинально изменять структуру рынка, что влияет на популярность того или иного стека. Также IT-рынок подвержен субъективному хайпу, когда на какие-то технологии и языки программирования обращают чрезмерное внимание без объективных предпосылок к этому. Все это по итогу влияет на востребованность специалистов по конкретному языку, работающих на конкретной технологии, на определенной зарплатной вилке.  

В этой статье я поделюсь своим мнением насчет востребованности PHP, как современного языка программирования – актуален ли он на 2022 год или нет.Что из себя представляет PHP

Обычно при обсуждении языка программирования приводят его сильные стороны, поэтому я буду следовать традиции и расскажу, почему PHP – это клевый  и современный язык программирования.

Отличная производительность. Команда CORE PHP разработчиков выполнила гигантскую работу по оптимизации PHP и сделала его более производительным. Так, например, в своей статье Дмитрий Стогов приводит бенчмарк для версии PHP 7.0, где демонстрируется, что PHP обходит по производительности своих конкурентов, таких как Python и Ruby, и даже не сильно отстает от Java с выключенным  JIT.

Читать далее

Каким 2021 запомнится PHP-сообществу?

Время на прочтение2 мин
Количество просмотров6K

Громкие уходы и обещанные релизы, полезные статьи и видео, крутые инструменты. Собираем картину уходящего года глазам сообщества во втором ежегодном опросе. Найди 5 минут, чтобы подвести итоги своего PHP-года — подробности под катом. 

Читать далее

Использование компонентов symfony/messenger и symfony/console в качестве независимых компонентов

Время на прочтение6 мин
Количество просмотров8.7K

Возникла как то потребность использовать асинхронную отправку писем. Передо мной открылись два основных направления:

Наколхозить на скорую руку свою поделку для работы с очередью сообщений.

Использовать мощные стабильные инструменты. Выбор пал на symfony/messenger по нескольким причинам:

– Во-первых, первым путём я уже хаживал.
– Во-вторых, я давно смотрел в сторону Symfony ожидая подходящей идеи для личного проекта, чтобы неспешно войти в его мир.
– В третьих, он поддерживает несколько различных транспортов.
– В четвёртых, предоставляет возможность использовать практически готовые к работе воркеры, предоставляемыe компонентом symfony/console.

Ну и последнее, впереди были выходные, и я мог себе позволить разобраться как это сделать.

Читать далее

PHP Дайджест № 217 (1 – 13 декабря 2021)

Время на прочтение4 мин
Количество просмотров8.3K


Подборка свежих новостей и материалов из мира PHP.

В выпуске: PHP теперь использует GitHub для трекинга багов; вышел PhpStorm 2021.3; закончена поддержка PHP 7.3, а 7.4 — в режиме только секьюрити фиксов; для PHP 8.2 снова обсуждается перегрузка операторов — теперь с новым ключевым словом.

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

Приятного чтения!
Читать дальше →

Вышел PhpStorm 2021.3

Время на прочтение10 мин
Количество просмотров11K


В этом релизе мы полностью поддержали PHP 8.1, улучшили обработку дженериков, реализовали drag-and-drop для перемещения классов и пространств имен, обновили HTTP-клиент, повысили удобство процесса развертывания и управления версиями, а также добавили новые возможности удаленной разработки.

Под катом подробный разбор всех изменений и новых возможностей с кучей гифок.

Скачать PhpStorm можно на сайте или через приложение Toolbox App.

Как и раньше, студентам, преподавателям и тем, кто занимается опенсорс-проектами, JetBrains предоставляет бесплатные лицензии. Стартапам доступна скидка 50%.

Читать дальше →

PHP Дайджест № 216 (15 – 30 ноября 2021)

Время на прочтение5 мин
Количество просмотров10K


Подборка свежих новостей и материалов из мира PHP.
В выпуске: вышел PHP 8.1, создана организация PHP Foundation с целью развития и поддержки PHP, критическая уязвимость в doctrine/dbal, в PHP 8.2 будут объявлены устаревшими динамические свойства, вышли Symfony 6 и Symfony 5.4.
Также в выпуске полезные статьи, видео и другие новости сообщества.

Приятного чтения!
Читать дальше →

Оптимистическая блокировка коллекций Агрегата при использовании Doctrine

Время на прочтение9 мин
Количество просмотров5.7K

Проектирование своего проекта по DDD последнее время становится всё более популярным. Сейчас не будем углубляться в данную методологию с её принципами, плюсами и минусами. Я хочу рассказать с какой проблемой столкнулась наша команда при использовании данной методологии на PHP, а именно внедрении Data Mapper’а Doctrine ORM.

Чтобы более понятно донести нашу проблему я буду использовать известный всем Агрегат Заказа (Order) и позиции заказа (OrderLine), которые являются коллекциями Dortrine ORM. Так же сильно упростим данный агрегат, чтобы фокусироваться на самой проблеме. И так начинаем!

Для начала мы создадим наш агрегат заказа.

Читать далее