【发布时间】:2016-02-20 19:59:40
【问题描述】:
我正在构建一个以 php silex 作为后端的网络应用程序。 我有以下目录结构:
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": { "": "./" } },但无法正常工作
【问题讨论】:
标签: php silex autoloader