Как стать автором
Обновить
41.25

Symfony *

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

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

Вышел PHP 8.2: разбираем главные изменения

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

Вместе с PHP-разработчиками Александром Макаровым (@SamDark), Валентином Удальцовым (@vudaltsov) и наставником Хекслета по PHP Владленом Гилязетдиновым (@funkylen) разбираемся, какие новые фичи появились в PHP 8.2, насколько эти изменения глобальны и какую роль в них сыграл проект РHP Foundation.

Эта статья — саммари стрима YouTube-канала PHP Point. Кстати, ежегодный опрос русскоязычного PHP-сообщества с итогами года запущен! Результатами поделимся в конце января.

Читать далее
Всего голосов 49: ↑49 и ↓0+49
Комментарии69

Конечные автоматы на практике: Symfony Workflow

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

В университетские времена я столкнулся с такой математической абстракцией, как конечный автомат (КА). Эта модель была полезна для понимания и создания комбинированной логики. Спустя 15 лет КА вернулся в мою жизнь в виде компонента Symfony Workflow. В этой статье я расскажу, как наша команда при помощи Symfony Workflow улучшила код продукта Links.Sape, переводя его с legacy.

Читать далее
Всего голосов 18: ↑17 и ↓1+16
Комментарии0

Преобразование формата ошибок с помощью встроенных событий Symfony

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

Работая над проектом, у меня возникла задача: возвращать информацию об Exception в формате JSON если client в запросе указывает поддерживаемый им MIME тип application/json используя заголовок Accept.

Простыми словами - если клиенту нужна ошибка в JSON, то дать ему JSON. В других случаях возвращать стандартную ошибку в формате HTML.

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

Читать далее
Всего голосов 9: ↑8 и ↓1+7
Комментарии5

Пакетное действие SonataAdminBundle + Select2

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

Система очень гибкая и многими недооценённая, мол Sonata ограничивает администратора в действиях (представляет малый функционал панели администратора).

Если Вам нужно что-то иное, всегда можно дополнить или модернизировать уже существующие методы.

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии6

Истории

Тестовый контур как спасение при частых релизах

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

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

Читать далее
Всего голосов 12: ↑11 и ↓1+10
Комментарии6

Демо Symfony конвертер валют

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

Недавно довелось делать тестовое задание на Symfony - конвертер валют с прямой и кросс-конвертацией. Получилось весьма неплохо, поэтому хочу поделиться с сообществом примером простого консольного приложения по всем канонам Symfony: DI, autowiring, тегирование сервисов, гибкая конфигурация, вот это вот всё. Надеюсь, это будет полезно начинающим "симфонистам".

Код приложения https://github.com/vladimirmartsul/symfony-exchange-demo

Приложение считает "обмен валюты" по прямым курсам (например, USD -> EUR), а также через "промежуточные" валюты (например, BTC -> EUR). Также есть фейковые курсы для тестов.

Курсы берутся с сайтов ecb.europa.eu (основные мировые валюты по отношению к EUR) и coindesk.com (BTC к USD). Триангуляция основана на принципах отсюда http://www.dpxo.net/articles/fx_rate_triangulation_sql.html. Для хранения данных используется БД SQLite.

Читать далее
Всего голосов 7: ↑5 и ↓2+3
Комментарии3

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

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

Доброго дня! Представляю вашему вниманию очередной дайджест новостей из мира PHP.

В этом выпуске: новые версии PHP, новости RFC, новости популярных фреймворков, обзор интересных статей и многое другое.

Читать далее
Всего голосов 24: ↑22 и ↓2+20
Комментарии7

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

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

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

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

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

Лонг-рид с кодом ждёт вас!
Всего голосов 31: ↑31 и ↓0+31
Комментарии19

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

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

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

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

Читать далее
Всего голосов 7: ↑7 и ↓0+7
Комментарии0

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

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

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

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

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

Читать далее
Всего голосов 43: ↑43 и ↓0+43
Комментарии5

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

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

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

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

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

Читать далее
Всего голосов 37: ↑36 и ↓1+35
Комментарии27

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

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

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

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

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

Читать далее
Всего голосов 21: ↑18 и ↓3+15
Комментарии13

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

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

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


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

Приятного чтения!
Читать дальше →
Всего голосов 68: ↑66 и ↓2+64
Комментарии12

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

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

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

Приятного чтения!
Читать дальше →
Всего голосов 46: ↑46 и ↓0+46
Комментарии17

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

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

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

Приятного чтения!
Читать дальше →
Всего голосов 52: ↑52 и ↓0+52
Комментарии10

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

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

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

Читать далее
Всего голосов 14: ↑7 и ↓70
Комментарии1

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

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

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

Читать далее
Всего голосов 8: ↑5 и ↓3+2
Комментарии0

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

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

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

Приятного чтения!
Читать дальше →
Всего голосов 68: ↑68 и ↓0+68
Комментарии6

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

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

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

Читать далее
Всего голосов 23: ↑23 и ↓0+23
Комментарии4