[英]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.