[英]PSR-4 Autoloader not recognizing classes in subfolder structure
我將Slim PHP用作應用程序的底層框架,並使用composer autoload來加載類。 在作曲家我有這個psr-4配置:
"psr-4": {
"App\\": "app/classes/"
}
我所有的課程都在/ app / classes /文件夾中。
在我的班級文件夾中,我擁有所有常見的班級,但子文件夾中有模塊特定的班級。
從我的../classes/connect.php文件中,我在相應的名稱空間下有此方法:
namespace App;
class connect
{
public function authenticate(){
office\AuthenticationManager::acquireAppToken(200);
}
}
在我的子文件夾../classes/office/中,我有一個名為office.php的文件,使用這種方法:
namespace App\office;
class AuthenticationManager
{
public function acquireAppToken($tid)
{
\App\APIManager\RequestManager::sendPostRequest();
}
}
上面的方法正在調用位於../classes/api.php中的另一個方法
該文件中的名稱空間是
namespace App\APIManager;
問題是,在調用此最后一種方法時,出現以下錯誤:找不到“ \\ App \\ APIManager \\ RequestManager” ...
我已經嘗試使用composer dump-autoload解決此問題,但沒有幫助。 為什么會發生此錯誤?
如果要在App\\APIManager
命名空間中有一個名為RequestManager
的類,則它必須位於APIManager/RequestManager.php
文件中。
它也適用於AuthenticationManager
類,應將其移至office/AuthenticationManager.php
看一下PSR-4示例 。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.