Silex \ Route :: SetPath () não encontrado

votos
3

Eu estou trabalhando em um novo projeto Silex e estou tendo problemas de montagem de uma rota aos meus fornecedores controlador. Eu tenho feito isso com sucesso antes em outro projeto, mas agora quando eu coloco as seguintes rotas em app.php:

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

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

EDIT:
O erro não são jogados quando eu montar a rota raiz. Só quando eu adiciono /feedsou /admin.
EDIT FIM

Eu não consigo descobrir onde isso pode estar vindo - Eu procurei meu outro projeto de trabalhar para esta definição de função, mas é longe de ser encontrada no código. Eu acho que pode estar faltando uma biblioteca em composer.jsonmas não tenho certeza de qual poderia ser - o arquivo é quase idêntico em ambos os projetos:

TRABALHO 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]
        }
    }
}

Quebrado 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]
        }
    }
}

Novamente, isto não pode mesmo ser a causa raiz do meu problema, apenas o meu sentimento de intestino. Alguém pode decifrar o que está acontecendo aqui?

SEGUNDO EDIT: 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 11/03/2013 em 12:15
usuário
Em outras línguas...                            


1 respostas

votos
0

Eu reduzi o problema a uma má biblioteca na minha pasta de fornecedores, embora eu não posso ter certeza qual deles é. Copiei a pasta meus fornecedores corretamente trabalhando para o meu quebrado e tudo começou a trabalhar.

Vou atualizar esta resposta, uma vez que eu sei qual é o problema exato era.

Respondeu 13/03/2013 em 13:53
fonte usuário

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