簡體   English   中英

找不到類-PSR-4命名空間自動加載

[英]Class not found - PSR-4 namespaced autoloading

我想為我編寫的課程設置PSR-4自動加載。 但是我一直收到錯誤Fatal error: Class 'Glowdemon1\\Translxtor\\LangParserXML' not found in C:\\xampp\\htdocs\\translator\\index.php on line 5

文件夾結構(尚無法發布img):

在此處輸入圖片說明

LangParserXML.class.php

namespace Glowdemon1\Translxtor;
class LangParserXML extends ErrorHandler implements ParserInterface{
...

的index.php

require_once('vendor/autoload.php');
$translator = new Glowdemon1\Translxtor\LangParserXML('nl.xml');

composer.json

    "autoload": {
        "psr-4": {
            "Glowdemon1\\": "src/"
        }
    }

autoload_psr4.php

return array(
    'Glowdemon1\\' => array($baseDir . '/src'),
);

我看了無數帖子,但沒有解決方案。 如果您想要更深入的了解,也可以將其發布在https://github.com/glowdemon1/translxtor上。 謝謝。

我認為您應該在src包含一個Translxtor文件夾,其中包含LangParserXML.class.phpTranslator.class.php

“名稱空間前綴”之后的連續子名稱空間名稱對應於“基本目錄”內的子目錄,其中名稱空間分隔符表示目錄分隔符。 子目錄名稱必須與子命名空間名稱的大小寫匹配。

資料來源: http : // www.php-fig.org/psr/ psr-4/ `

將您的composer.json更新為:

"autoload": {
    "psr-4": {
        "Glowdemon1\\Translxtor\\": "src/"
    }
}

或添加src/Transxtor/你之前目錄LangParserXMl

另外,您的文件名不能包含“ .class”。 它應該只是稱為LangParserXML.php

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM