話不多說,先把報錯貼出來:

剛開始用slim框架,在設置完自動加載文件和路由文件之后,我寫了一個控制器:
<?php use \Psr\Http\Message\ServerRequestInterface as Request; use \Psr\Http\Message\ResponseInterface as Response; use \interop\Container\ContainerInterface; class HomeController { protected $app; public function __construct(ContainerInterface $ci) { $this->app = $ci; } public function index(Request $request, Response $response, $args) { echo '恭喜你訪問成功'; } }
並且設置了路由,將路由中的index指向Home控制器中的index方法:
$app->get('/index', 'HomeController:index');
本來想當我訪問http://localhost/slimtest1/public/index.php/index 的時候,應該打印出index方法里面的文字才對
沒想到報了開頭我貼出來的錯誤。
搞了好久才發現原來是我的composer.json里面沒有指定自動加載路徑,所以我增加了下面一段代碼:
{ "require": { "slim/slim": "^3.0" }, "autoload": { "classmap" : [ "app/controllers" ] } }
上述陰影部分為新增加的代碼,指定控制器去app/controllers文件夾下面加載。
然后執行composer install 更新一下就好了。
成功結果:

總結原因就是我對composer這種開發模式不太了解。不清楚如何對composer.json文件進行管理
