1

私が書いたクラスの PSR-4 オートローディングをセットアップしたかったのです。ただし、エラーが発生し続けますFatal error: Class 'Glowdemon1\Translxtor\LangParserXML' not found in C:\xampp\htdocs\translator\index.php on line 5

フォルダ構造(画像はまだ投稿できません):

ここに画像の説明を入力

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にも投稿されています。ありがとう。

4

2 に答える 2

1

composer.json を次のように更新します。

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

src/Transxtor/または、ディレクトリの前に追加しますLangParserXMl

また、ファイル名に「.class」を含めることはできません。と呼ぶだけLangParserXML.phpです。

于 2016-02-09T00:21:37.717 に答える
1

と を含むTranslxtorフォルダが必要だと思います:srcLangParserXML.class.phpTranslator.class.php

「ネームスペース プレフィックス」の後の連続するサブネームスペース名は、「ベース ディレクトリ」内のサブディレクトリに対応し、ネームスペース セパレータはディレクトリ セパレータを表します。サブディレクトリ名は、サブ名前空間名の大文字と小文字を一致させる必要があります。

ソース: http://www.php-fig.org/psr/psr-4/ `

于 2016-02-09T00:18:57.140 に答える