[英]Slim3 - Container: Class not found
我的源代码结构 :
composer.json :
"autoload": {
"psr-4": {
"App\\": "src/"
}
},
AuthController.php:
<?php
namespace App\Controllers\Auth;
use App\Models\User;
use App\Controllers\Controller;
class AuthController extends Controller
{
...
}
UserController.php:
<?php
namespace App\Controllers\User;
use App\Models\User;
use App\Controllers\Controller;
class UserController extends Controller
{
...
}
在苗条的应用程序:
$container = $app->getContainer();
$container['AuthController'] = function ($container){
return new App\Controllers\Auth\AuthController($container);
};
$container['UserController'] = function ($container){
return new App\Controllers\User\UserController($container);
};
从UserController调用函数时出错:
未找到“App \\ Controllers \\ User \\ UserController”类
并且IntelliJ标记代码并给出通知:未定义的类UserController。
使用AuthController工作正常。
在我看来,我得到了错误的命名空间,但我不知道如何改变它。
我也跑了:
composer dump-autoload -o
您正在使用Controllers
作为命名空间类。 但是在你的目录结构中, controller
是小写的。 您必须将controllers
目录名称大Controllers
。 然后您的命名空间可以使用。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.