Silex \ Route :: setPath () niet gevonden

stemmen
3

Ik ben bezig met een nieuwe Silex project en heb problemen met het monteren van een route naar mijn Controller providers. Ik heb met succes eerder gedaan in een ander project, maar nu wanneer Ik zet in de volgende routes app.php:

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

Ik ontvang een fatale fout: Fatal error: Call to undefined method Silex\Route::setPath() in [root]/vendor/symfony/routing/Symfony/Component/Routing/RouteCollection.php on line 255

EDIT:
De fout niet wordt gegenereerd wanneer ik monteer de wortel route. Alleen als ik toe te voegen /feedsof /admin.
END EDIT

Ik kan niet achterhalen waar dit zou kunnen komen uit - ik heb mijn andere werken project zocht voor deze functie definitie, maar het is nergens te vinden in de code. Ik denk dat ik zou kunnen missen een bibliotheek in composer.json, maar ik ben niet zeker welke het zou kunnen zijn - het bestand is bijna identiek voor beide projecten:

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

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

Nogmaals, dit misschien niet eens de oorzaak van mijn probleem, gewoon mijn buikgevoel zijn. Kan iedereen ontcijferen wat er hier aan de hand?

TWEEDE 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;
    }
}
De vraag is gesteld op 11/03/2013 om 12:15
user
In andere talen...                            


1 antwoorden

stemmen
0

Ik heb het probleem teruggebracht tot een slechte bibliotheek in mijn map verkopers, hoewel ik niet zeker welke het is kan zijn. Ik kopieerde mijn correct werkt vendors map op mijn gebroken één en alles begon te werken.

Ik zal dit antwoord updaten zodra ik weet wat de precieze probleem was.

antwoordde op 13/03/2013 om 13:53
bron van user

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