New in Symfony 5.4: Route Aliasing

Contributed by Jérôme Parmentier in #38464.

When refactoring applications, especially if you work on a legacy application, it's common to need to change the name of some routes. Some renames might be considered cosmetic (e.g. rename admin_dashboard to admin) but others are essential for the new application because they change the route name pattern entirely (e.g. rename api_register_customer_requests_post_collection to sylius_shop_api_register). The need to rename routes is increasingly popular among Symfony developers and that's why in Symfony 5.4, we're improving the Routing component to allow aliasing routes. In any route configuration, add the alias option and provide the name of the route which is equivalent to it. For example:

    1

2 3 4 5 6 7 8 9

config/routes.yaml

this is the existing and 'legacy' route

admin_dashboard:

...

this is the new route that replaces the old one

admin: alias: admin_dashboard

...

The admin route is considered by Symfony the same as admin_dashboard and you can generate the same URLs with both of them. The above example uses YAML, but it works with all the other route configuration formats as well (PHP, XML).

Deprecating Routes An added bonus of this feature is that you can deprecate routes and tell users in advance so they can update their applications. Imagine that you publish a third-party bundle that includes a route called user_collection_index and you want to rename it to users_index. Instead of just renaming the route (which would break all applications using the bundle) define the old route as an alias of the new route and add to it the deprecated option:

    1

2 3 4 5 6 7 8 9 10

config/routes.yaml

users_index:

...

user_collection_index: alias: 'users_index' deprecated: package: 'some-vendor/some-package' version: '3.14'

...

If any application uses the user_collectionindex route to generate URLs, they'll see the following deprecation message: "Since some-vendor/some-package 3.14: The "user_collectionindex" route alias is deprecated. You should stop using it, as it will be removed in the future." Add the message option under deprecated if you want to customize the deprecation message entirely.

                Sponsor the Symfony project.

http://feedproxy.google.com/~r/symfony/blog/~3/EfT_bp2dO8Y/new-in-symfony-5-4-route-aliasing

Erstellt 4y | 09.11.2021, 08:20:10


Melden Sie sich an, um einen Kommentar hinzuzufügen

Andere Beiträge in dieser Gruppe

SymfonyOnline June 2025: Speakers, Stats & Replays!

Thank you for joining us at SymfonyOnline June 2025!

What a great edition of SymfonyOnline we’ve just wrapped up! 🎉

We were thrilled to welcome 300 participants from 35 different countries—a

18.06.2025, 08:50:17 | Symfony
A Week of Symfony #963 (June 9–15, 2025)

This week, Symfony celebrated the SymfonyOnline June 2025 conference with great success. Meanwhile, development efforts focused on improving invokable commands for the upcoming Symfony 7.4 version. Th

15.06.2025, 09:10:09 | Symfony
A Week of Symfony #962 (June 2–8, 2025)

This week, development activity focused on the upcoming Symfony 7.4 and 8.0 versions, which will deprecate and remove many features. In addition, we published a case study about Yousign. Finally, we'r

08.06.2025, 07:50:05 | Symfony
Case study - Yousign: Scaling Trust with Smart, Scalable Architecture

As digital signatures become the norm in modern business, Yousign has established itself as a trusted leader across Europe. Behind its simple, intuitive interface is a powerful technical engine, handl

06.06.2025, 07:10:24 | Symfony
SymfonyOnline June 2025 starts next week!

Get ready for the exciting SymfonyOnline June 2025, kicking off in a few days only! There’s still time to register and join the international online Symfony conference—along with pre-conferenc

05.06.2025, 10:20:09 | Symfony
A Week of Symfony #961 (May 26 – June 1, 2025)

This week, Symfony released the stable version of Symfony 7.3, which includes lots of amazing new features. We also published the maintenance versions 6.4.22 and 7.2.7.

Symfony development highlights

01.06.2025, 08:50:16 | Symfony
New in Symfony 7.3: DX Improvements (part 2)

This is the second part of the blog post showcasing the main DX (developer experience) features introduced in Symfony 7.3. Read the first part of this blog post.

Verify URI Signatures… https://symfon

29.05.2025, 09:10:19 | Symfony