Silex \ Διαδρομή :: 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.
ΤΕΛΟΣ 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]
        }
    }
}

Σπασμένα 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