我似乎無法讓作曲家使用psr-0自動載入機制來處理我自己的類/文件。任何人都可以請闡明爲什麼下面的不工作?作曲家不加載我自己的PSR-0文件
我得到以下輸出在我的錯誤日誌:
PHP Fatal error: Class 'TestdirTest1' not found in /home/webroot/bitlama/index.php on line 5
它的工作。如果我取消了明確的要求聲明(的index.php:2)。
如果有人想知道 - 是的,我已經運行作曲者安裝形式:'php ../composer.phar安裝'。
這是我的目錄結構:
├── 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