Php 找不到类-PSR-4命名空间自动加载
我想为我编写的类设置PSR-4自动加载。但是,我不断收到错误Php 找不到类-PSR-4命名空间自动加载,php,composer-php,autoloader,psr-4,Php,Composer Php,Autoloader,Psr 4,我想为我编写的类设置PSR-4自动加载。但是,我不断收到错误致命错误:在第5行的C:\xampp\htdocs\translator\index.php中找不到类'Glowdemon1\translater\LangParserXML' 文件夹结构(还不能发布img): LangParserXML.class.php namespace Glowdemon1\Translxtor; class LangParserXML extends ErrorHandler implements Pars
致命错误:在第5行的C:\xampp\htdocs\translator\index.php中找不到类'Glowdemon1\translater\LangParserXML'
文件夹结构(还不能发布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/"
}
}
自动加载_psr4.php
return array(
'Glowdemon1\\' => array($baseDir . '/src'),
);
我看过无数的帖子,但没有解决办法。如果您想更深入地了解,也会在上发布此信息。谢谢。我认为您应该在src
中有一个translater
文件夹,其中包含LangParserXML.class.php
和Translator.class.php
:
“名称空间前缀”后面的连续子名称空间名称对应于“基本目录”中的子目录,其中名称空间分隔符表示目录分隔符。子目录名称必须与子命名空间名称的大小写匹配
资料来源:
`将composer.json更新为:
"autoload": {
"psr-4": {
"Glowdemon1\\Translxtor\\": "src/"
}
}
或者在LangParserXMl
此外,文件名不能包含“.class”。它应该被称为LangParserXML.php
Composerps-4
应该是Glowdemon1\\transxtor\\
谢谢@Evert的改进