Silex \ Percorso :: SetPath () non trovato

voti
3

Sto lavorando su un nuovo progetto Silex e sto avendo problemi di montaggio di un percorso ai miei fornitori controller. Ho fatto con successo questo prima in un altro progetto, ma ora quando ho messo le seguenti rotte app.php:

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

Ricevo un errore 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'errore non viene generata quando monto la via principale. Solo quando aggiungo /feedso /admin.
END EDIT

Non riesco a capire dove questo potrebbe essere provenienti da - Ho cercato il mio altro progetto di lavoro per questa definizione di funzione, ma è introvabile nel codice. Penso che potrei mancare una biblioteca composer.json, ma non sono sicuro di quale potrebbe essere - il file è quasi identico in entrambi i progetti:

LAVORO 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 rotto:

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

Di nuovo, questo può anche non essere la causa principale del mio problema, solo il mio istinto. Qualcuno può decifrare quello che sta succedendo qui?

SECONDO 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;
    }
}
È pubblicato 11/03/2013 alle 12:15
dall'utente
In altre lingue...                            


1 risposte

voti
0

Ho ristretto il problema a una cattiva raccolta nella mia cartella vendor, anche se non posso essere sicuro quale sia. Ho copiato cartella vendor che lavorano in modo corretto alla mia uno rotto e tutto iniziato a lavorare.

Voglio aggiornare questa risposta, una volta che so qual è il problema esatto era.

Risposto il 13/03/2013 a 13:53
fonte dall'utente

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