Silex \ Route :: setPath () introuvable

voix
3

Je travaille sur un nouveau projet Silex et de la difficulté à monter je voie à mes fournisseurs de contrôleur. Je l' ai fait avec succès auparavant dans un autre projet, mais maintenant quand je mets les routes suivantes app.php:

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

Je reçois une erreur fatale: Fatal error: Call to undefined method Silex\Route::setPath() in [root]/vendor/symfony/routing/Symfony/Component/Routing/RouteCollection.php on line 255

EDIT:
L'erreur ne soit pas levée lorsque je monte la route racine. Seulement quand j'ajoute /feedsou /admin.
FIN EDIT

Je ne peux pas savoir où cela vient peut-être - je l'ai cherché mon autre projet de travail pour cette définition de la fonction, mais il est nulle part dans le code. Je pense que je pourrais être absent une bibliothèquecomposer.json mais je ne suis pas sûr que l' on serait peut - être - le fichier est presque identique dans les deux projets:

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

composer.json BROKEN:

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

Encore une fois, cela peut même pas être la cause de mon problème, juste mon sentiment. Quelqu'un peut-il déchiffrer ce qui se passe ici?

DEUXIÈME 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;
    }
}
Créé 11/03/2013 à 12:15
utilisateur
Dans d'autres langues...                            


1 réponses

voix
0

Je l'ai réduit le problème à une mauvaise bibliothèque dans mon dossier vendeurs, bien que je ne peux pas être sûr que l'on est. Je copiais mes fournisseurs qui travaillent correctement le dossier à mon cassé un et, tout a commencé.

Je mettrai à jour cette réponse une fois que je sais ce que la question exacte était.

Créé 13/03/2013 à 13:53
source utilisateur

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