Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/275.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控制器_Php_Controller_Silex - Fatal编程技术网

Php 未找到Silex控制器

Php 未找到Silex控制器,php,controller,silex,Php,Controller,Silex,我是Silex框架的新用户,在注册到控制器的路由方面有点(对我来说是个大问题)。Silex找不到我的控制器。 这是我的文件树: My composer.json文件: web目录中的My index.php文件: <?php // web/index.php require_once __DIR__.'/../vendor/autoload.php'; use Symfony\Component\HttpFoundation\Response; use Silex\Provider\

我是Silex框架的新用户,在注册到控制器的路由方面有点(对我来说是个大问题)。Silex找不到我的控制器。 这是我的文件树:

My composer.json文件:

web目录中的My index.php文件:

<?php

// web/index.php
require_once __DIR__.'/../vendor/autoload.php';
use Symfony\Component\HttpFoundation\Response;

use Silex\Provider\UrlGeneratorServiceProvider;
use Silex\Provider\ValidatorServiceProvider;
use Silex\Provider\ServiceControllerServiceProvider;
use Silex\Provider\HttpFragmentServiceProvider;

$app = new Silex\Application();
$app['debug']=TRUE;

$app->get('/','HomeController::index');

$app->run();

您好,您应该使用下面的行,我希望它能帮助您

use Silex\Api\ControllerProviderInterface;


 class HomeController implements ControllerProviderInterface {

您必须指定控制器的完整名称空间I将我的名称空间更改为:名称空间web\Controller\HomeController。我也有相同的错误。请尝试按照此处指定的文档进行操作。您使用的名称空间有误。您的控制器位于控制器命名空间中,并且您正在使用web\controller。查看composer psr-4键:
“Controller\\”:“web/”
您告诉composer在web文件夹中加载控制器名称空间,但您定义的是web/控制器名称空间。在您的控制器中,只需使用控制器名称空间IMHO,您不应将控制器放在公共web文件夹中,最好在web和供应商目录的相同级别上有一个src文件夹。
<?php
/**
 * Created by PhpStorm.
 * User: Oskar
 * Date: 2016-02-07
 * Time: 02:27
 */
namespace web\Controller{
    use Symfony\Component\HttpFoundation\Request;
    use Silex\Application;

    use Silex\ControllerCollection;
    class HomeController
    {
        public function index()
        {
            return 'Hello Controller';
        }
    }
}
use Silex\Api\ControllerProviderInterface;


 class HomeController implements ControllerProviderInterface {