我想为我写的课程设置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,以防您需要更深入的了解。感谢。
答案 0 :(得分:1)
我认为您应该在Translxtor
中包含src
和LangParserXML.class.php
的{{1}}文件夹:
“名称空间前缀”之后的连续子命名空间名称对应于“基本目录”中的子目录,其中名称空间分隔符表示目录分隔符。子目录名称必须与子命名空间名称的大小写匹配。
答案 1 :(得分:1)
将composer.json更新为:
"autoload": {
"psr-4": {
"Glowdemon1\\Translxtor\\": "src/"
}
}
或者在src/Transxtor/
LangParserXMl
目录
此外,您的文件名不能包含" .class"。它应该被称为LangParserXML.php
。