psr-0自動ロードメカニズムを使用して自分のクラス/ファイルで作業するように作者を見せていないようです。誰もが以下のことがうまくいかない理由についていくつかの光を発することができますか?Composerが自分のpsr-0ファイルをロードしていません
私は私のエラーログに次の出力を取得しています:
PHP Fatal error: Class 'TestdirTest1' not found in /home/webroot/bitlama/index.php on line 5
それがない作品、私は明示的なコメントを解除しステートメントを必要とする場合(index.phpを:2)。
誰かが疑問を持っているなら、私はコンポーザーを「php ../composer.phar install」という形式でインストールしています。
これは私のディレクトリ構造です:
├── composer.json
├── index.php
├── testspacedir
│ └── Testdir
│ └── test1.php
└── vendor
├── autoload.php
└── composer
├── autoload_classmap.php
├── autoload_namespaces.php
├── autoload_real.php
└── ClassLoader.php
はcomposer.json:
{
"autoload": {
"psr-0": { "Testdir\\": "testspacedir/"}
}
}
test1.php:
<?php
namespace Testdir;
class Test1 {
public function __construct()
{
echo "Woohoo Test1";
}
}
のindex.php:
<?php
require 'vendor/autoload.php';
//require 'testspacedir/Testdir/test1.php';
$test1 = new Testdir\Test1();
ベンダー/ autoload.php:
<?php
// autoload.php @generated by Composer
require_once __DIR__ . '/composer' . '/autoload_real.php';
return ComposerAutoloaderInit7b4760e0f7ca9d6454dd2f098c374ba4::getLoader();
'vendor/composer/autoloader_namespaces.php'を見てください。これには、配列キーと正しいフォルダとして名前空間を含む行が含まれている必要があります。 – Sven