Silex \ Route :: setPath () Nie znaleziono

głosy
3

Pracuję nad nowym projektem Silex i mam problemy montażu trasy do moich dostawców kontrolera. Udało się zrobić to wcześniej w innym projekcie, ale teraz, kiedy kładę w następujących trasach app.php:

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

Otrzymuję błąd krytyczny: Fatal error: Call to undefined method Silex\Route::setPath() in [root]/vendor/symfony/routing/Symfony/Component/Routing/RouteCollection.php on line 255

EDIT:
Błąd nie zostanie rzucony kiedy zamontować trasę korzeniowy. Tylko wtedy, gdy dodaję /feedslub /admin.
EDIT END

Nie mogę dowiedzieć się, gdzie to może być pochodzących z - Rozglądałem mój inny projekt roboczy dla tej definicji funkcji, ale to nigdzie nie można znaleźć w kodzie. Myślę, że można znaleźć bibliotekę composer.json, ale nie jestem pewien, który z nich może być - plik jest niemal identyczna w obu projektach:

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

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

Ponownie, to nie może być nawet przyczyną mojego problemu, tylko moje przeczucie. Może ktoś rozszyfrować co tu się dzieje?

DRUGA EDYCJA: 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;
    }
}
Utwórz 11/03/2013 o 12:15
użytkownik
W innych językach...                            


1 odpowiedzi

głosy
0

I już zawężony problemu w dół poważnej biblioteki w moim katalogu dostawców, choć nie mogę być pewny, który to jest. I kopiowane moi producenci poprawnie pracujące folderu do mojego złamanego jednym i wszystko zaczęło działać.

Będę aktualizować tę odpowiedź razu wiem, co było dokładną problem.

Odpowiedział 13/03/2013 o 13:53
źródło użytkownik

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