TGViewer
Пых Пых @phpyh · 7.83K subscribers
Post #24 577
Час назад Фабьен смерджил мой PR https://github.com/symfony/symfony/pull/30862

Суть его проста: выделить функционал твиговских функций absolute_url() и relative_path в отдельный сервис HttpFoundation\UrlHelper. Его можно использовать при генерации ссылок на локальные ресурсы, что нередко требуется в API и при отправке писем.

Допустим, у нас есть сущность User@Entity с полем string $avatar = 'uploads/nadezhda.jpg'. После нормализации нам бы хотелось получить ['avatar' => 'https://website.ru/uploads/nadezhda.jpg']. Теперь это можно сделать одним вызовом $this->urlHelper->getAbsoluteUrl($user->avatar()).

Важно, что UrlHelper работает вне контекста запроса, например, в командах, так как при пустом RequestStack он берет данные из RequestContext. Подробнее о том, как настроить RequestContext, можно прочитать здесь: https://symfony.com/doc/current/console/request_context.html .
GitHub [HttpFoundation] Add AbsoluteUrlGeneratorInterface and RelativePathGeneratorInterface by vudaltsov · Pull Request #30862 · symfony/symfony Q A Branch? master Bug fix? no New feature? yes BC breaks? no Deprecations? yes Tests pass? yes Fixed tickets n/a License MIT Doc PR todo I noticed that I need to generate ab...
  • 👍 1
More from @phpyh
  1. Sep 30, 2026🍺 BeerPHP AI Moscow Кажется, «неделя PHP» потихоньку превращается в месяц PHP. 😅 Будет 2…
  2. Sep 28, 2026Запустили Пыхник и неделю PHP! Залетайте на первый открытый доклад от Дмитрия Dantes про к…
  3. Sep 15, 2026Сейчас один человек с AI может выполнять работу целого IT-отдела. Только хуёво
  4. Sep 12, 2026Спасибо за заявки! Всем напишу в понедельник. Осталось 1 место.
  5. Sep 11, 2026Хардкорный курс асинхронного PHP https://hardcourse.ru/php/async
  6. Sep 11, 2026Ещё полчасика надо — сайт готов, расписываю программу! 🙏
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →