Symfony usando enrutamiento yaml y php
Me gustaría usar una combinación de enrutamiento yaml y php en una aplicación Symfony (3.3.8). Estoy bastante cómodo con el enrutamiento yaml, así que usé elbin/console doctrine:generate:crud
comando para ver cómo se vería el enrutamiento PHP. Se generó un archivo de enrutamiento que se parece a
<?php
use Symfony\Component\Routing\RouteCollection;
use Symfony\Component\Routing\Route;
$collection = new RouteCollection();
$collection->add('user_index', new Route(
'/',
array('_controller' => 'AppBundle:User:index'),
array(),
array(),
'',
array(),
array('GET')
));
// other CRUD routes...
return $collection;
Esto sigue elformato sugerido en los documentos de Symfony, donde construyes unRouteCollection
conRoute
sy luego devuélvelo.
Cuando intento ejecutar mi aplicación con este archivo en su lugar, incluso si no está referenciado desde mirouting.yml
archivo, me sale este error:
[Symfony\Component\Config\Exception\FileLoaderLoadException]
The autoloader expected class "AppBundle\Resources\config\routing\restful_resource" to be defined i
n file "/home/username/sites/appname/vendor/composer/../../src/AppBundle/Resources/config/routing/restfu
l_resource.php". The file was found but the class was not in it, the class name or namespace probab
ly has a typo in /home/username/sites/appname/app/config/services.yml (which is being imported from "/ho
me/username/sites/appname/app/config/config.yml").
[RuntimeException]
The autoloader expected class "AppBundle\Resources\config\routing\restful_resource" to be defined i
n file "/home/username/sites/appname/vendor/composer/../../src/AppBundle/Resources/config/routing/restfu
l_resource.php". The file was found but the class was not in it, the class name or namespace probab
ly has a typo.
¿Necesito rediseñar este archivo para actuar como una clase, yendo en contra del formato sugerido en los documentos de Symfony? ¿O necesito decirle de alguna manera al autocargador que ignore este archivo para que no intente encontrar una clase donde no debería haber uno?