Symfony News

New in Symfony 5.1: Simpler Request Context

Nicolas Grekas

Contributed by
Nicolas Grekas
in #36651.

Generating URLs in console commands and any other places outside of the web context is challenging because Symfony doesn't have access to the current host, the base URL, etc.

The solution is to configure the request context using container parameters such as router.request_context.host. In Symfony 5.1 we've already improved this allowing you to configure these values via the framework.router option. However, we kept working on this feature to simplify it even more.

That's why in Symfony 5.1, you'll be able to configure the entire request context using a single default_uri parameter, instead of having to define several parameters:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
# Before
framework:
    router:
        host: 'example.org'
        scheme: 'https'
        base_url: 'my/path'

# After
framework:
    router:
        default_uri: 'https://example.org/my/path/'

Related to this, in the pull request #36681, we've updated the assets config to reuse the router context by default. This means that most of the times, defining the default_uri option is enough to configure both the request context and the assets context.


Sponsor the Symfony project.


About us

What a Symfony developer should know about the framework: News, Jobs, Tweets, Events, Videos,...

Resources

Find us on Twitter

Find us on Facebook