
Symfony *
Свободный фреймворк, написанный на PHP5
Управление секретами в Symfony
Перевод статьи подготовлен в преддверии старта курса «Symfony Framework».
Не надоело ли вам хранить файл с секретами вашего приложения в менеджере паролей и копировать его в свою среду CI/CD каждый раз, когда вы изменяете его для развертывания приложения в соответствии с требованиями безопасности?
REST API в Symfony (без FosRestBundle) с использованием JWT аутентификации. Часть 1
Перевод статьи подготовлен в преддверии старта курса «Symfony Framework».
В первой части статьи мы рассмотрим самый простой способ реализации REST API в проекте Symfony без использования FosRestBundle. Во второй части, которую я опубликую следом, мы рассмотрим JWT аутентификацию. Прежде чем мы начнем, сперва мы должны понять, что на самом деле означает REST.
PHP-Дайджест № 183 (22 июня – 5 июля 2020)

Свежая подборка со ссылками на новости и материалы. В выпуске все про PHP 8: первая альфа, новое выражение
match
, баг в синтаксисе @@
для атрибутов, реальные бенчмарки JIT, 4 новых предложения. И, как всегда, инструменты, статьи, видео и подкасты.Приятного чтения!
10 советов по тестированию в Symfony

Я принял участие в проекте с двухлетней кодовой базой и Symfony 3.4 в качестве веб-фреймворка. Это был не самый новый и блестящий проект, но у него было большое достоинство: тесты покрывали самые важные действия приложения.
Впервые в своей карьере я увидел, как тесты могут придать уверенности в кодовой базе, начинают экономить твоё время и помогают соблюсти требования бизнеса.
Этого достигли с помощью многочисленных функциональных тестов Symfony и некоторых модульных тестов, которые заполнили некоторые пустоты. Общее покрытие было около 50-52 %, но покрытие критически важной функциональности было гораздо выше. Это придавало достаточно уверенности, чтобы добавлять новые функции без ручного тестирования.
[Symfony 5] Раздельная авторизация для админов и пользователей с двумя разными сущностями и формами входа
Цель
Создать в Symfony 5 раздельную авторизацию:
- Администратор — будет иметь сущность Admin, url для входа /admin/login
- Пользователь — будет иметь сущность User, url для входа /login
- Данные для входа не должны пересекаться, мы не можем авторизоваться как User на странице /admin/login
- Должны быть созданы две разные Entities
- Должны быть созданы два разных контроллера для входа и два разных Security
- Возможность настройки переадресации после авторизации отдельно друг от друга
- Возможность использовать разные авторизационные данные (например, для User мы хотим, чтобы пользователи вводили email/password, а для Admin обеспечить доп. защиту, добавив какой-нибудь Uuid
Зачем нужен этот гайд?
У меня стояла задача разделить форму входа с сущностью User на две разные — для пользователя (entity User) и для администратора (entity Admin) для нормального функционала админ панели (в данном случае EasyAdmin).
В данном туториале я распишу пошагово весь путь, начиная с установки самого фреймворка, и заканчивая созданием двух разных форм авторизации.
Как быть, когда все советуют растащить проект на микросервисы. А ты не готов

Простое управление ACL в Symfony

Не секрет, что ACL (access control lists) могут быть достаточно сложны в использовании. Поскольку Symfony рекомендует избирателей (voters) в качестве альтернативы ACL, я недавно решил, что напишу свой собственный простой в использовании Symfony 5 бандл для управления списками контроля доступа (ACL) в моих приложениях.
programarivm/easy-acl-bundle
изначально был написан для использования в JWT-аутентифицированном API для одностраничных приложений (single page applications — SPA), но он также может быть полезен в ряде других сценариев, когда не требуется Security компонент — что в большинстве случаев, по моему скромному мнению, особенно подходит для сеансов обработки многостраничных приложений (multi-page applications — MPA).PHP-Дайджест № 182 (1 – 22 июня 2020)

Свежая подборка со ссылками на новости и материалы. В выпуске: 3 принятых и 6 новых RFC-предложений из PHP Internals, включая голосование за новый синтаксис для атрибутов — @@
и почему #[]
был бы лучше, переименования black/whitelist в PHP-мире, как отлаживают PHP-разработчики, аналог ngrok на PHP, видео, подкасты и многое другое.
Приятного чтения!
Миллион за месяц: как запустить стартап в Европе своими силами
Два месяца назад я и мой знакомый (для краткости, назовем его Илья) запустили свой стартап.
Пффф… Скажите вы. Каждый день кто-то что-то запускает. Кто-то запускает в одиночку. Некоторые кучкуются в команды. У кого-то есть деньги на разработку\маркетинг, кто-то предлагает долю, пост-оплату, опционы. Все крутятся как могут и ищут партнеров также.

У нас не было денег, был лишь опыт и 2 недели до первых продаж.
Под катом я расскажу о том, с чем мы столкнулись и как заработали миллион в кризис
PHP 25 лет: краткая история языка и скидка 50% на PhpStorm
Все мы ждем релиза PHP 8, который запланирован на этот декабрь. А пока предлагаем вспомнить достижения PHP-сообщества за прошедшие 25 лет: мы собрали в большой таймлайн все самые важные события из истории языка.

Ближайшие события
PHP-Дайджест № 181 (18 мая – 1 июня 2020)

Свежая подборка со ссылками на новости и материалы. В выпуске: 3 новых и 4 принятых RFC предложения для PHP 8, включая объявление свойств в конструкторе, о блокировке PHP-ML из-за плагиата, почему разработчики ненавидят PHP, порция полезных инструментов, видео и многое другое.
Приятного чтения!
Как переиспользовать код с бандлами Symfony 5? Часть 7. Релизный цикл, установка и обновление
Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и релизного цикла бандла.
В предыдущих статьях серии мы вынесли переиспользуемый код в полноценный бандл, настроили и протестировали. В завершающей статье поговорим о жизненном цикле бандла: от установки до релизного цикла.
В этой статье:
- README.md
- Установка: через composer, рецепты Flex, консольные команды
- Релизный цикл, выпуск новых версий
- Семантическое версионирование
- Фиксация изменений в CHANGELOG.md
Проклятая старая CRM

А пока, заинтересовавшись темой, я нашел похожий случай — и решил расспросить Дмитрия Косова из Финама про их опыт отказа от наследия ранних 2010-х.
Все доклады бесплатной онлайн-части PHP Russia c иностранными докладчиками можно будет смотреть в переводе

Поэтому Skyeng нашли пару ребят, которые уже синхронно переводили на русский ИТ-конференции (один даже начинал как разработчик), а команда Онтико быстро придумала технически рабочий вариант с двумя языковыми потоками на выбор в онлайн-трансляции. Осталось не облажаться)
Зарегистрируйтесь заранее и подключайтесь в среду, чтобы узнать, что получится: в крайнем случае, перейдете на оригинальную аудиодорожку. Доклады и опции онлайн-общения обещают быть огненными.
Как переиспользовать код с бандлами Symfony 5? Часть 6. Тестирование
Поговорим о том, как прекратить копипастить между проектами и вынести код в переиспользуемый подключаемый бандл Symfony 5. Серия статей, обобщающих мой опыт работы с бандлами, проведет на практике от создания минимального бандла и рефакторинга демо-приложения, до тестов и релизного цикла бандла.
В предыдущей части мы создали конфигурацию бандла. В этой статье разберем как тестировать бандл, напишем несколько тестов и создадим внутри бандла микроприложение для их запуска.
Вклад авторов
pronskiy 4929.0spasibo_kep 263.2varanio 254.0AlexLeonov 249.0olegsklyarov 165.0icegreenberry 133.0Cutcode 119.8vsh797 99.0nProfessor 92.0frantic 89.0