[英]Silex - Controller class not found in route.php
我正在使用php silex作為后端構建一個Web應用程序。 我有以下目錄結構:
bento
\app
\app.php
\bootstrap.php
\src
\supervisor
\SupervisorController.php
\Application.php
\routes.php
\composer.json
\vendor
文件內容如下;
pp.php
<?php
require_once __DIR__ . '/bootstrap.php';
$app = new Silex\Application();
require_once __DIR__ . '/../src/routes.php';
return $app;
?>
bootstrap.php中
<?php
require_once __DIR__ . "/../vendor/autoload.php";
?>
SupervisorController.php
<?php
namespace Bento\Supervisor\SupervisorController;
use Silex\ServiceProviderInterface;
use Silex\Application;
class SupervisorController implements ServiceProviderInterface
{
public function register(Application $app) {
$controllers = $app['controllers_factory'];
$app->get('/supervisor/processes', function() use ($app){
});
return $controllers;
}
public function boot(Application $app)
{
// TODO: Implement boot() method.
}
}
routes.php文件
<?php
$app->mount('/supervisor', new \Bento\Supervisor\SupervisorController\SupervisorController());
composer.json
{
"require": {
"silex/silex": "~1.3"
}
}
我收到以下錯誤
PHP Fatal error: Class 'Bento\Supervisor\SupervisorController\SupervisorController' not found in /somedir/Documents/projects/mv2/bento/src/routes.php on line 3
我嘗試在composer.json
添加"autoload": { "psr-4": { "": "./" } }
,但是無法正常工作
嘗試將控制器名稱空間更改為Bento\\Supervisor
。 我認為命名空間不應包含類名。
namespace Bento\Supervisor;
use Silex\ServiceProviderInterface;
use Silex\Application;
class SupervisorController implements ServiceProviderInterface
{
並將自動加載添加到作曲家
"autoload": { "psr-4": { "Bento\Supervisor": "./src/supervisor" } }
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.