Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 未找到Silex\Route::setPath()_Php_Silex - Fatal编程技术网

Php 未找到Silex\Route::setPath()

Php 未找到Silex\Route::setPath(),php,silex,Php,Silex,我正在进行一个新的Silex项目,在安装到控制器提供商的路由时遇到了问题。我以前在另一个项目中成功地做到了这一点,但现在我在app.php中添加了以下路径: 我收到一个致命错误:致命错误:在第255行的[root]/vendor/symfony/routing/symfony/Component/routing/RouteCollection.php中调用未定义的方法Silex\Route::setPath 编辑: 装载根路由时不会引发错误。仅当我添加/feed或/admin时。 结束编辑 我不

我正在进行一个新的Silex项目,在安装到控制器提供商的路由时遇到了问题。我以前在另一个项目中成功地做到了这一点,但现在我在app.php中添加了以下路径:

我收到一个致命错误:致命错误:在第255行的[root]/vendor/symfony/routing/symfony/Component/routing/RouteCollection.php中调用未定义的方法Silex\Route::setPath

编辑: 装载根路由时不会引发错误。仅当我添加/feed或/admin时。 结束编辑

我不知道这可能是从哪里来的——我在我的另一个工作项目中搜索了这个函数定义,但在代码中找不到它。我想我可能缺少composer.json中的一个库,但我不确定它可能是哪一个-两个项目中的文件几乎相同:

WORKING composer.json:

Breaked composer.json:

再说一次,这甚至可能不是我问题的根本原因,只是我的直觉。有人能解释这里发生了什么吗

第二次编辑:FeedsController.php


我已经将问题缩小到供应商文件夹中的坏库,尽管我不能确定是哪一个。我将正常工作的供应商文件夹复制到我的坏文件夹中,然后一切都开始工作


一旦我知道确切的问题是什么,我将更新此答案。

您问题中损坏的composer.json文件中包含的设置是否是此问题与正常问题之间的唯一区别?您能否向我们展示您的FeedController,例如,缩短了,所以只包含一条路由?@Adam-E这些文件被完全复制了。@Maerlyn我添加了FeedsController的代码。phpy您从底部缺少return$controller语句,这是这里的错误还是代码中的错误?
$app->mount('/', new CommonController());
$app->mount('/feeds', new FeedsController());
$app->mount('/admin', new AdminController());
{
    "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" : "lyrixx@lyrixx.info"
        }
    ],
    "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]
        }
    }
}
{
    "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]
        }
    }
}
<?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;
    }
}