我尝试使用Silex Framework,但我认为我的命名空间有问题。
当我实现我的类MainController时,我有以下错误: 类“MainController”不存在
这里是MainController.php中的名称空间声明:
namespace App\Controllers;
use Silex\Application;
class MainController implements \Silex\ControllerProviderInterface {
....
在我的app.php中:
$app->mount("/", new \App\Controllers\MainController());
我的composer.json中有一个自动加载:
"autoload": {
"psr-4": {"App\\": "app/"}
}
我的项目的审核就像它:
| --app /
| ---- app.php
| ----控制器/
| ------- MainController.php
| --web /
| ----的index.php
非常感谢您的帮助:)
答案 0 :(得分:2)
我认为您的问题是由您命名目录Warning: strip_tags() expects parameter 1 to be string, array given in on line 32
的方式引起的。根据{{1}}标准的文档:
5)完全限定类名中的字母字符可以是小写和大写的任意组合。
6)所有类名必须以区分大小写的方式引用。
因此,请将您的目录重命名为controllers
并重新运行PSR-4
。
另外,请查看ServiceControllerProvider关于将控制器实例设置为回调的正确方法。传递新实例可能不是最好的(如果不是错误的)做事方式。你应该做的事情如下:
Controllers