Silex \ Ruta :: setPath () que no se encuentra

votos
3

Estoy trabajando en un nuevo proyecto Silex y estoy teniendo problemas para el montaje de una ruta a mis proveedores de controlador. He hecho esto con éxito antes en otro proyecto, pero ahora cuando pongo las siguientes rutas en app.php:

$app->mount('/', new CommonController());
$app->mount('/feeds', new FeedsController());
$app->mount('/admin', new AdminController());

Recibo un error fatal: Fatal error: Call to undefined method Silex\Route::setPath() in [root]/vendor/symfony/routing/Symfony/Component/Routing/RouteCollection.php on line 255

EDIT:
El error no consigue produce cuando montes la ruta raíz. Sólo cuando agrego /feedso /admin.
Edit End

No puedo averiguar dónde podría venir de - He buscado mi otro proyecto de trabajo para esta definición de la función, pero es en ninguna parte ser encontrado en el código. Creo que puede ser que falte una biblioteca en composer.json, pero no estoy seguro de cuál podría ser - el archivo es casi idéntico en ambos proyectos:

TRABAJO composer.json:

{
    name        : lyrixx/Silex-Kitchen-Edition,
    type        : library,
    description : A Silex Edition. This project is a base for your silex applications.,
    keywords    : [framework],
    homepage    : http://lyrixx.github.com/Silex-Kitchen-Edition/,
    license     : MIT,
    authors     : [
        {
            name  : Grégoire Pineau,
            email : [email protected]
        }
    ],
    repositories: [
        {
            type: package,
            package: {
                name    : twitter/bootstrap,
                version : 2.0.4,
                source  : {
                    url       : https://github.com/twitter/bootstrap.git,
                    type      : git,
                    reference : v2.0.4
                }
            }
        }
    ],
    require: {
        php                     : >=5.3.3,
        silex/silex             : dev-master,
        twig/twig               : 1.*,
        monolog/monolog         : 1.0.*,
        symfony/form            : 2.1.*,
        symfony/translation     : 2.1.*,
        symfony/twig-bridge     : 2.1.*,
        symfony/validator       : 2.1.*,
        symfony/yaml            : 2.1.*,
        symfony/config          : 2.1.*,
        kriswallsmith/assetic   : 1.0.*,
        twitter/bootstrap       : 2.0.4,
        doctrine/dbal           : 2.2.*,
        symfony/security        : 2.1.*,
        fate/silex-extensions   : dev-master,
        michelf/php-markdown    : 1.3.*@dev,
        swiftmailer/swiftmailer : >=4.1.2,<4.2-dev
    },
    require-dev: {
        symfony/dom-crawler   : 2.1.*,
        symfony/css-selector  : 2.1.*,
        symfony/browser-kit   : 2.1.*
    },
    minimum-stability : dev,
    scripts: {
        post-install-cmd: Lx\\Composer\\Script::postInstall
    },
    autoload: {
        psr-0: {
            [autoload routes defined here]
        }
    }
}

Roto composer.json:

{
    require: {
        php                     : >=5.3.3,
        silex/silex             : dev-master,
        twig/twig               : 1.*,
        monolog/monolog         : 1.0.*,
        symfony/form            : 2.1.*,
        symfony/translation     : 2.1.*,
        symfony/twig-bridge     : 2.1.*,
        symfony/validator       : 2.1.*,
        symfony/yaml            : 2.1.*,
        symfony/config          : 2.1.*,
        kriswallsmith/assetic   : 1.0.*,
        twitter/bootstrap       : 2.0.*,
        doctrine/dbal           : 2.2.*,
        fate/silex-extensions   : dev-master,
        swiftmailer/swiftmailer : >=4.1.2,<4.2-dev
    },
    autoload: {
        psr-0: {
            [autoload routes defined here]
        }
    }
}

Una vez más, esto no puede ser incluso la causa de mi problema, sólo mi primera impresión. ¿Alguien puede descifrar lo que está pasando aquí?

SEGUNDA EDICIÓN: FeedsController.php

<?php

namespace Controllers;

use Controllers\CommonController;
use Silex\Application;
use Symfony\Component\HttpFoundation\Request;

class FeedsController extends CommonController
{

    public function connect(Application $app)
    {
        $controller = $app['controllers_factory'];

        $controller->get('/', function (Request $request, Application $app)
        {
            return 'Yay!';
        });

        return $controller;
    }
}
Publicado el 11/03/2013 a las 12:15
por usuario
En otros idiomas...                            


1 respuestas

votos
0

He reducido el problema a una mala biblioteca en mi carpeta de los vendedores, aunque no puedo estar seguro de cuál se trata. Copié mis vendedores que trabajan correctamente carpeta para mi un roto y todo comenzó a trabajar.

Voy a actualizar esta respuesta una vez que sé lo que el problema exacto.

Respondida el 13/03/2013 a las 13:53
fuente por usuario

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more