@@ -305,17 +305,14 @@ If you use the :class:`Symfony\\Component\\Routing\\Loader\\PhpFileLoader` you
305
305
have to provide the name of a PHP file which returns a :class: `Symfony\\ Component\\ Routing\\ RouteCollection `::
306
306
307
307
// RouteProvider.php
308
- use Symfony\Component\Routing\RouteCollection;
309
- use Symfony\Component\Routing\Route;
310
-
311
- $routes = new RouteCollection();
312
- $routes->add(
313
- 'route_name',
314
- new Route('/foo', ['_controller' => 'ExampleController'])
315
- );
316
- // ...
308
+ namespace Symfony\Component\Routing\Loader\Configurator;
317
309
318
- return $routes;
310
+ return function (RoutingConfigurator $routes) {
311
+ $routes->add('route_name', '/foo')
312
+ ->controller('ExampleController')
313
+ // ...
314
+ ;
315
+ };
319
316
320
317
Routes as Closures
321
318
..................
@@ -410,7 +407,7 @@ routes with UTF-8 characters:
410
407
411
408
route1 :
412
409
path : /category/{name}
413
- defaults : { _controller: ' App\Controller\DefaultController::category' }
410
+ controller : App\Controller\DefaultController::category
414
411
options :
415
412
utf8 : true
416
413
@@ -429,23 +426,19 @@ routes with UTF-8 characters:
429
426
430
427
.. code-block :: php
431
428
432
- use Symfony\Component\Routing\RouteCollection;
433
- use Symfony\Component\Routing\Route;
434
-
435
- $routes = new RouteCollection();
436
- $routes->add('route1', new Route('/category/{name}',
437
- [
438
- '_controller' => 'App\Controller\DefaultController::category',
439
- ],
440
- [],
441
- [
442
- 'utf8' => true,
443
- ]
444
- ));
429
+ // config/routes.php
430
+ namespace Symfony\Component\Routing\Loader\Configurator;
445
431
446
- // ...
432
+ use App\Controller\DefaultController;
447
433
448
- return $routes;
434
+ return function (RoutingConfigurator $routes) {
435
+ $routes->add('route1', '/category/{name}')
436
+ ->controller([DefaultController::class, 'category'])
437
+ ->options([
438
+ 'utf8' => true,
439
+ ])
440
+ ;
441
+ };
449
442
450
443
In this route, the ``utf8 `` option set to ``true `` makes Symfony consider the
451
444
``. `` requirement to match any UTF-8 characters instead of just a single
@@ -470,22 +463,22 @@ You can also include UTF-8 strings as routing requirements:
470
463
* @Route(
471
464
* "/category/{name}",
472
465
* name="route2",
473
- * requirements ={"default "="한국어"},
466
+ * defaults ={"name "="한국어"},
474
467
* options={"utf8": true}
475
468
* )
476
469
*/
477
- public function default ()
470
+ public function category ()
478
471
{
479
472
// ...
480
473
}
481
474
482
475
.. code-block :: yaml
483
476
484
477
route2 :
485
- path : /default/{default }
486
- defaults : { _controller: 'App\Controller\DefaultController::default' }
487
- requirements :
488
- default : " 한국어"
478
+ path : /category/{name }
479
+ controller : ' App\Controller\DefaultController::category '
480
+ defaults :
481
+ name : " 한국어"
489
482
options :
490
483
utf8 : true
491
484
@@ -497,34 +490,30 @@ You can also include UTF-8 strings as routing requirements:
497
490
xsi : schemaLocation =" http://symfony.com/schema/routing
498
491
http://symfony.com/schema/routing/routing-1.0.xsd" >
499
492
500
- <route id =" route2" path =" /default/{default}"
501
- controller =" App\Controller\DefaultController::default" >
502
- <requirement key =" default" >한국어</requirement >
493
+ <route id =" route2" path =" /category/{name}" controller =" App\Controller\DefaultController::category" >
494
+ <default key =" name" >한국어</default >
503
495
<option key =" utf8" >true</option >
504
496
</route >
505
497
</routes >
506
498
507
499
.. code-block :: php
508
500
509
- use Symfony\Component\Routing\RouteCollection;
510
- use Symfony\Component\Routing\Route;
511
-
512
- $routes = new RouteCollection();
513
- $routes->add('route2', new Route('/default/{default}',
514
- [
515
- '_controller' => 'App\Controller\DefaultController::default',
516
- ],
517
- [
518
- 'default' => '한국어',
519
- ],
520
- [
521
- 'utf8' => true,
522
- ]
523
- ));
524
-
525
- // ...
526
-
527
- return $routes;
501
+ // config/routes.php
502
+ namespace Symfony\Component\Routing\Loader\Configurator;
503
+
504
+ use App\Controller\DefaultController;
505
+
506
+ return function (RoutingConfigurator $routes) {
507
+ $routes->add('route2', '/category/{name}')
508
+ ->controller([DefaultController::class, 'category'])
509
+ ->defaults([
510
+ 'name' => '한국어',
511
+ ])
512
+ ->options([
513
+ 'utf8' => true,
514
+ ])
515
+ ;
516
+ };
528
517
529
518
.. tip ::
530
519
0 commit comments