Silex \ Route :: setPath () nu a fost găsit

voturi
3

Lucrez la un nou proiect Silex și am probleme cu montarea unui traseu la furnizorii mei Controller. Am făcut cu succes acest lucru înainte într - un alt proiect, dar acum când am pus următoarele rute în app.php:

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

Am primit o eroare fatală: Fatal error: Call to undefined method Silex\Route::setPath() in [root]/vendor/symfony/routing/Symfony/Component/Routing/RouteCollection.php on line 255

EDIT:
Eroarea nu aruncat atunci când am monta traseul rădăcină. Doar când am adăuga /feedssau /admin.
END EDIT

Nu pot să dau seama în cazul în care acest lucru s - ar putea să vină de la - am căutat alt proiectul meu de lucru pentru această definiție funcție, dar este nicăieri pentru a fi găsit în codul. Cred că s - ar putea să lipsească o bibliotecă în composer.jsondar nu sunt sigur care ar putea fi - fișierul este aproape identic în ambele proiecte:

Composer.json DE LUCRU:

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

Din nou, acest lucru nu poate fi chiar cauza principala a problemei mele, doar sentimentul meu intestin. Poate cineva descifra ce se întâmplă aici?

A DOUA 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;
    }
}
Întrebat 11/03/2013 la 12:15
de către utilizator
În alte limbi...                            


1 răspunsuri

voturi
0

Am redus problema în jos într-o bibliotecă rău în dosarul meu vânzătorii, deși nu pot fi sigur care unul este. Am copiat folderul vânzătorii meu corect de lucru la un nefuncțională și totul a început să lucreze.

Voi actualiza acest răspuns o dată am știu ce problema a fost exactă.

Publicat 13/03/2013 la 13:53
sursa de către utilizator

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