PHP Slim 框架初体验之无法访问控制器
Posted superfat
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了PHP Slim 框架初体验之无法访问控制器相关的知识,希望对你有一定的参考价值。
话不多说,先把报错贴出来:
刚开始用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文件进行管理
以上是关于PHP Slim 框架初体验之无法访问控制器的主要内容,如果未能解决你的问题,请参考以下文章