Как зарегистрировать пространство имен с помощью автозагрузчика Silex

Я экспериментирую с созданием расширения с Silex php micro framework для аутентификации пользователей, но мне кажется, что автозагрузчик не работает. Может ли кто-нибудь пролить свет?

У меня есть такая структура каталогов (усеченная)

usertest
|_lib
| |_silex.phar
| |_MyNamespace
|   |_UserExtension.php
|   |_User.php
|_www
  |_index.php

Соответствующие биты index.php, который служит начальной загрузкой и фронт-контроллером, выглядят следующим образом:

require '../lib/silex.phar';

use Silex\Application;
use MyNamespace\UserExtension;

$app = new Application();
$app['autoloader']->registerNamespace( 'MyNamespace', '../lib' );
$app->register( new UserExtension() );

Класс I ' попытка загрузки m выглядит примерно так:

namespace MyNamespace;

use Silex\Application;
use Silex\ExtensionInterface;

class UserExtension implements ExtensionInterface {
    public function register( Application $app ) {
        $app['user'] = $app->share( function() use( $app ) {
            return new User();
        });
    }
}

Все довольно просто, за исключением того, что возникает эта ошибка:

Fatal error: Class 'MyNamespace\UserExtension' not found in /home/meouw/Projects/php/usertest/www/index.php on line 8

Я пробовал работать с symfony2 и успешно выполнил инструкции по настройке универсального загрузчика классов , но в этом случае я в тупике. Я что-то пропустил? Любая помощь будет принята с благодарностью.

13
задан meouw 30 May 2011 в 23:22
поделиться