Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

Commit7cd23ce

Browse files
committed
minor#11085 Fixed route examples (Jules Pietri)
This PR was squashed before being merged into the 4.2 branch (closes#11085).Discussion----------Fixed route examplesFixes partially#8462 and#10762.Commits-------21408cf Fixed route examples
2 parents8a10de0 +21408cf commit7cd23ce

21 files changed

+610
-598
lines changed

‎components/routing.rst‎

Lines changed: 46 additions & 57 deletions
Original file line numberDiff line numberDiff line change
@@ -302,20 +302,18 @@ other loaders that work the same way:
302302
*:class:`Symfony\\Component\\Routing\\Loader\\PhpFileLoader`
303303

304304
If you use the:class:`Symfony\\Component\\Routing\\Loader\\PhpFileLoader` you
305-
have to provide the name of a PHP file which returns a:class:`Symfony\\Component\\Routing\\RouteCollection`::
305+
have to provide the name of a PHP file which returns a callable handling a:class:`Symfony\\Component\\Routing\\Loader\\Configurator\\RoutingConfigurator`.
306+
This class allows to chain imports, collections or simple route definition calls::
306307

307308
// 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-
// ...
309+
namespace Symfony\Component\Routing\Loader\Configurator;
317310

318-
return $routes;
311+
return function (RoutingConfigurator $routes) {
312+
$routes->add('route_name', '/foo')
313+
->controller('ExampleController')
314+
// ...
315+
;
316+
};
319317

320318
Routes as Closures
321319
..................
@@ -410,7 +408,7 @@ routes with UTF-8 characters:
410408
411409
route1:
412410
path:/category/{name}
413-
defaults:{ _controller: 'App\Controller\DefaultController::category' }
411+
controller:App\Controller\DefaultController::category
414412
options:
415413
utf8:true
416414
@@ -422,31 +420,26 @@ routes with UTF-8 characters:
422420
xsi:schemaLocation="http://symfony.com/schema/routing
423421
http://symfony.com/schema/routing/routing-1.0.xsd">
424422
425-
<routeid="route1"path="/category/{name}">
426-
<defaultkey="_controller">App\Controller\DefaultController::category</default>
423+
<routeid="route1"path="/category/{name}"controller="App\Controller\DefaultController::category">
427424
<optionkey="utf8">true</option>
428425
</route>
429426
</routes>
430427
431428
..code-block::php
432429
433-
use Symfony\Component\Routing\RouteCollection;
434-
use Symfony\Component\Routing\Route;
435-
436-
$routes = new RouteCollection();
437-
$routes->add('route1', new Route('/category/{name}',
438-
[
439-
'_controller' => 'App\Controller\DefaultController::category',
440-
],
441-
[],
442-
[
443-
'utf8' => true,
444-
]
445-
));
430+
// config/routes.php
431+
namespace Symfony\Component\Routing\Loader\Configurator;
446432
447-
// ...
433+
use App\Controller\DefaultController;
448434
449-
return $routes;
435+
return function (RoutingConfigurator $routes) {
436+
$routes->add('route1', '/category/{name}')
437+
->controller([DefaultController::class, 'category'])
438+
->options([
439+
'utf8' => true,
440+
])
441+
;
442+
};
450443
451444
In this route, the ``utf8`` option set to ``true`` makes Symfony consider the
452445
``.`` requirement to match any UTF-8 characters instead of just a single
@@ -471,22 +464,22 @@ You can also include UTF-8 strings as routing requirements:
471464
* @Route(
472465
* "/category/{name}",
473466
* name="route2",
474-
*requirements={"default"="한국어"},
467+
*defaults={"name"="한국어"},
475468
* options={"utf8": true}
476469
* )
477470
*/
478-
public functiondefault()
471+
public functioncategory()
479472
{
480473
// ...
481474
}
482475
483476
..code-block::yaml
484477
485478
route2:
486-
path:/default/{default}
487-
defaults:{ _controller:'App\Controller\DefaultController::default' }
488-
requirements:
489-
default:"한국어"
479+
path:/category/{name}
480+
controller:'App\Controller\DefaultController::category'
481+
defaults:
482+
name:"한국어"
490483
options:
491484
utf8:true
492485
@@ -498,34 +491,30 @@ You can also include UTF-8 strings as routing requirements:
498491
xsi:schemaLocation="http://symfony.com/schema/routing
499492
http://symfony.com/schema/routing/routing-1.0.xsd">
500493
501-
<routeid="route2"path="/default/{default}">
502-
<defaultkey="_controller">App\Controller\DefaultController::default</default>
503-
<requirementkey="default">한국어</requirement>
494+
<routeid="route2"path="/category/{name}"controller="App\Controller\DefaultController::category">
495+
<defaultkey="name">한국어</default>
504496
<optionkey="utf8">true</option>
505497
</route>
506498
</routes>
507499
508500
..code-block::php
509501
510-
use Symfony\Component\Routing\RouteCollection;
511-
use Symfony\Component\Routing\Route;
512-
513-
$routes = new RouteCollection();
514-
$routes->add('route2', new Route('/default/{default}',
515-
[
516-
'_controller' => 'App\Controller\DefaultController::default',
517-
],
518-
[
519-
'default' => '한국어',
520-
],
521-
[
522-
'utf8' => true,
523-
]
524-
));
525-
526-
// ...
527-
528-
return $routes;
502+
// config/routes.php
503+
namespace Symfony\Component\Routing\Loader\Configurator;
504+
505+
use App\Controller\DefaultController;
506+
507+
return function (RoutingConfigurator $routes) {
508+
$routes->add('route2', '/category/{name}')
509+
->controller([DefaultController::class, 'category'])
510+
->defaults([
511+
'name' => '한국어',
512+
])
513+
->options([
514+
'utf8' => true,
515+
])
516+
;
517+
};
529518
530519
..tip::
531520

‎controller/error_pages.rst‎

Lines changed: 7 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -171,22 +171,19 @@ automatically when installing Twig support):
171171
xsi:schemaLocation="http://symfony.com/schema/routing
172172
http://symfony.com/schema/routing/routing-1.0.xsd">
173173
174-
<importresource="@TwigBundle/Resources/config/routing/errors.xml"
175-
prefix="/_error" />
174+
<importresource="@TwigBundle/Resources/config/routing/errors.xml"prefix="/_error" />
176175
</routes>
177176
178177
..code-block::php
179178
180179
// config/routes/dev/twig.php
181-
use Symfony\Component\Routing\RouteCollection;
180+
namespace Symfony\Component\Routing\Loader\Configurator;
182181
183-
$routes = new RouteCollection();
184-
$routes->addCollection(
185-
$loader->import('@TwigBundle/Resources/config/routing/errors.xml')
186-
);
187-
$routes->addPrefix("/_error");
188-
189-
return $routes;
182+
return function (RoutingConfigurator $routes) {
183+
$routes->import('@TwigBundle/Resources/config/routing/errors.xml')
184+
->prefix('/_error')
185+
;
186+
};
190187
191188
With this route added, you can use URLs like these to preview the *error* page
192189
for a given status code as HTML or for a given status code and format.

‎controller/service.rst‎

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ a service like: ``App\Controller\HelloController::index``:
3232
class HelloController
3333
{
3434
/**
35-
* @Route("/hello", name="hello")
35+
* @Route("/hello", name="hello", methods={"GET"})
3636
*/
3737
public function index()
3838
{
@@ -45,7 +45,8 @@ a service like: ``App\Controller\HelloController::index``:
4545
# config/routes.yaml
4646
hello:
4747
path:/hello
48-
defaults:{ _controller: App\Controller\HelloController::index }
48+
controller:App\Controller\HelloController::index
49+
methods:GET
4950
5051
..code-block::xml
5152
@@ -56,18 +57,23 @@ a service like: ``App\Controller\HelloController::index``:
5657
xsi:schemaLocation="http://symfony.com/schema/routing
5758
http://symfony.com/schema/routing/routing-1.0.xsd">
5859
59-
<routeid="hello"path="/hello">
60-
<defaultkey="_controller">App\Controller\HelloController::index</default>
61-
</route>
60+
<routeid="hello"path="/hello"controller="App\Controller\HelloController::index"methods="GET" />
6261
6362
</routes>
6463
6564
..code-block::php
6665
6766
// config/routes.php
68-
$collection->add('hello', new Route('/hello', [
69-
'_controller' => 'App\Controller\HelloController::index',
70-
]));
67+
namespace Symfony\Component\Routing\Loader\Configurator;
68+
69+
use App\Controller\HelloController;
70+
71+
return function (RoutingConfigurator $routes) {
72+
$routes->add('hello', '/hello')
73+
->controller(['HelloController::class, 'index'])
74+
->methods(['GET'])
75+
;
76+
};
7177
7278
.. _controller-service-invoke:
7379

0 commit comments

Comments
 (0)

[8]ページ先頭

©2009-2025 Movatter.jp