@@ -24,11 +24,21 @@ Symfony provides several route loaders for the most common needs:
2424# loads routes from the given routing file stored in some bundle
2525resource :' @AcmeBundle/Resources/config/routing.yaml'
2626
27+ app_psr4 :
28+ # loads routes from the PHP attributes of the controllers found in the given PSR-4 namespace root
29+ resource :' ../src/Controller/'
30+ type :psr4@App\Controller
31+
2732app_attributes :
2833# loads routes from the PHP attributes of the controllers found in that directory
2934resource :' ../src/Controller/'
3035type :attribute
3136
37+ app_class_attributes :
38+ # loads routes from the PHP attributes of the given class
39+ resource :App\Controller\MyController
40+ type :attribute
41+
3242app_directory :
3343# loads routes from the YAML, XML or PHP files found in that directory
3444resource :' ../legacy/routing/'
@@ -51,9 +61,15 @@ Symfony provides several route loaders for the most common needs:
5161<!-- loads routes from the given routing file stored in some bundle-->
5262 <import resource =" @AcmeBundle/Resources/config/routing.yaml" />
5363
64+ <!-- loads routes from the PHP attributes of the controllers found in the given PSR-4 namespace root-->
65+ <import resource =" ../src/Controller/" type =" psr4@App\Controller" />
66+
5467<!-- loads routes from the PHP attributes of the controllers found in that directory-->
5568 <import resource =" ../src/Controller/" type =" attribute" />
5669
70+ <!-- loads routes from the PHP attributes of the given class-->
71+ <import resource =" App\Controller\MyController" type =" attribute" />
72+
5773<!-- loads routes from the YAML or XML files found in that directory-->
5874 <import resource =" ../legacy/routing/" type =" directory" />
5975
@@ -70,9 +86,17 @@ Symfony provides several route loaders for the most common needs:
7086 // loads routes from the given routing file stored in some bundle
7187 $routes->import('@AcmeBundle/Resources/config/routing.yaml');
7288
73- // loads routes from the PHP attributes (#[Route(...)]) of the controllers found in that directory
89+ // loads routes from the PHP attributes (#[Route(...)])
90+ // of the controllers found in the given PSR-4 namespace root
91+ $routes->import('../src/Controller/', 'psr4@App\Controller');
92+
93+ // loads routes from the PHP attributes (#[Route(...)])
94+ // of the controllers found in that directory
7495 $routes->import('../src/Controller/', 'attribute');
7596
97+ // loads routes from the PHP attributes (#[Route(...)]) of the given class
98+ $routes->import('App\Controller\MyController', 'attribute');
99+
76100 // loads routes from the YAML or XML files found in that directory
77101 $routes->import('../legacy/routing/', 'directory');
78102
@@ -85,6 +109,10 @@ Symfony provides several route loaders for the most common needs:
85109 The ``attribute `` value of the second argument of ``import() `` was introduced
86110 in Symfony 6.1.
87111
112+ ..versionadded ::6.2
113+
114+ The ``psr4 `` resource type was introduced in Symfony 6.2.
115+
88116..note ::
89117
90118 When importing resources, the key (e.g. ``app_file ``) is the name of the collection.