Hola:
Estoy empezando un nuevo proyecto personal en la nueva version de Symfony (por cierto, que chulo el nuevo instalador) y me está dando un fallo muy raro:
Circular reference detected in "C:\wamp\www\fate.dev\app/config/routing_dev.yml" ("C:\wamp\www\fate.dev\app/config/routing_dev.yml" > "C:\wamp\www\fate.dev\app/config\routing.yml" > "C:\wamp\www\fate.dev\src\AppBundle/Controller/" > "C:\wamp\www\fate.dev\app/config/routing_dev.yml").
La cuestion es que solo tengo un controlador con una unica accion:
<?php namespace AppBundle\Controller; use Symfony\Bundle\FrameworkBundle\Controller\Controller; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route; use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template; class BackendController extends Controller { /** * @Route("/", name="listBackend) * @Template() */ public function listBackendAction() { $em = $this->getDoctrine()->getManager(); $list = $em->getRepository('AppBundle:Languages')->findAll(); return ['list' => $list]; } }
Aquí está mi routing_dev.yml
:
_wdt: resource: "@WebProfilerBundle/Resources/config/routing/wdt.xml" prefix: /_wdt _profiler: resource: "@WebProfilerBundle/Resources/config/routing/profiler.xml" prefix: /_profiler _configurator: resource: "@SensioDistributionBundle/Resources/config/routing/webconfigurator.xml" prefix: /_configurator _errors: resource: "@TwigBundle/Resources/config/routing/errors.xml" prefix: /_error _main: resource: routing.yml
Y mi routing.yml
:
app: resource: "@AppBundle/Controller/" type: annotation
Como podéis ver está nuevito del todo. Solo le instalé los bundles que uso siempre. Aquí os dejo un listado
"raulfraile/ladybug-bundle": "dev-master", "stof/doctrine-extensions-bundle": "dev-master", "friendsofsymfony/user-bundle": "*", "elao/web-profiler-extra-bundle" : "~2.3@dev", "doctrine/doctrine-fixtures-bundle": "dev-master"
Estoy un poco mosca y no se por qué falla.
Saludos a todos.
Respuestas
El otro día vi este mensaje de error por primera vez. En mi caso, el problema tenía que ver en realidad con los namespaces. Tenía un controlador de la parte de administración que estaba guardado en src/AppBundle/Controller/Admin/
, pero su namespace era AppBundle\Controller
en vez de AppBundle\Controller\Admin
.
@javiereguiluz
Era eso.
No se si quererte u odiarte.
Saludos
@TsubasaAkai
La suerte ha sido que justo el otro día me saltó este error por primera vez. Estaba preparando la aplicación demo de Symfony y tenía el mismo caso que tú: un controlador en la parte de backend. Lo moví de sitio sin actualizar el namespace y me explotó la aplicación con ese error rarísimo de referencia circular.
@javiereguiluz
También es casualidad. Le he estado echando un vistazo a la aplicación. Mola. Simple y efectiva. ¿Váis a hacer un tutorial para complementarla?
@TsubasaAkai
Por el momento no vamos a hacer un tutorial. Pero lo que sí que vamos a hacer es añadirle un montón de cosas y sobre todo, miles de comentarios en el código explicando por qué hacemos las cosas de esa manera y también muchos consejos útiles.
Por otra parte, como el error del que estamos hablando en esta discusión me parece muy mejorable, he creado este issue en el repositorio de Symfony. A ver si les parece bien a los que deciden y se puede mejorar el mensaje de error.
@javiereguiluz
Pues estaré atento a este hilo. La verdad, creo que la explicación es muy confusa y no soluciona nada.
Muchas gracias por tu ayuda.
@TsubasaAkai