Composer没有加载我自己的psr-0文件

Chr*_*ski 7 php psr-0 composer-php

我似乎无法使用psr-0自动加载机制让作曲家使用我自己的类/文件.任何人都可以说明为什么以下不起作用?

我在错误日志中收到以下输出:

PHP致命错误:第5行/home/webroot/bitlama/index.php中找不到类'TestdirTest1'

它确实有效如果我取消注释显式require语句(index.php:2).

如果有人想知道 - 是的,我已经以'php ../composer.phar install'的形式运行composer install.

这是我的目录结构:

??? composer.json
??? index.php
??? testspacedir
?   ??? Testdir
?       ??? test1.php
??? vendor
    ??? autoload.php
    ??? composer
        ??? autoload_classmap.php
        ??? autoload_namespaces.php
        ??? autoload_real.php
        ??? ClassLoader.php
Run Code Online (Sandbox Code Playgroud)

composer.json:

{
    "autoload": {
        "psr-0": { "Testdir\\": "testspacedir/"}
    }
}
Run Code Online (Sandbox Code Playgroud)

test1.php:

<?php

namespace Testdir;

class Test1 {

    public function __construct()
    {
        echo "Woohoo Test1";
    }

}
Run Code Online (Sandbox Code Playgroud)

index.php文件:

<?php
require 'vendor/autoload.php';
//require 'testspacedir/Testdir/test1.php';

$test1 = new Testdir\Test1();
Run Code Online (Sandbox Code Playgroud)

供应商/ autoload.php:

<?php

// autoload.php @generated by Composer

require_once __DIR__ . '/composer' . '/autoload_real.php';

return ComposerAutoloaderInit7b4760e0f7ca9d6454dd2f098c374ba4::getLoader();
Run Code Online (Sandbox Code Playgroud)

Chr*_*ski 3

我的类文件被命名为 ,test1.php而不是所需的 PSR-0 命名约定Test1.php.