Silex \ Route :: setPath () не найдено

голоса
3

Я работаю над новым проектом Silex и у меня возникают проблемы монтажа маршрут к моим поставщикам контроллера. Я успешно делал это раньше в другом проекте, но теперь , когда я ставлю следующие маршруты в app.php:

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

Я получаю фатальную ошибку: Fatal error: Call to undefined method Silex\Route::setPath() in [root]/vendor/symfony/routing/Symfony/Component/Routing/RouteCollection.php on line 255

EDIT:
Ошибка не бросят , когда я смонтировать корневой маршрут. Только тогда , когда я добавляю /feedsили /admin.
END EDIT

Я не могу понять, где это может приходить от - я искал другой мой рабочий проект этого определения функции, но нигде не найти в коде. Я думаю , что , возможно, отсутствует библиотека в composer.jsonно я не уверен , какой она может быть - файл почти идентичен по обоим проектам:

РАБОТА 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]
        }
    }
}

Опять же, это не может даже быть причиной моего вопроса, только мое чувство кишки. Может кто-нибудь расшифровать то, что здесь происходит?

ВТОРОЙ 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;
    }
}
Задан 11/03/2013 в 12:15
пользователем
На других языках...                            


1 ответов

голоса
0

Я сузил проблему вплоть до плохой библиотеки в моей папке продавцов, хотя я не могу быть уверен, какой он есть. Я скопировал мои работает правильно вендоры папку на мой ломаную, и все начали работать.

Я буду обновлять этот ответ, как только я знаю, что точный вопрос был.

Ответил 13/03/2013 в 13:53
источник пользователем

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