繁体   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