Comment vous inscrire à un espace de noms avec des Silex de l'autochargeur

Je suis en train d'expérimenter la création d'une extension avec la Silex micro framework php pour l'authentification de l'utilisateur, mais je n'arrive pas à obtenir l'autochargeur de travail. Quelqu'un peut nous donner un indice?

J'ai une structure de répertoire comme ceci (tronquée)

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

Les bits de index.php, qui sert de bootstrap et le contrôleur frontal ressembler à ceci:

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

use Silex\Application;
use MyNamespace\UserExtension;

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

La classe je suis en train de charger ressemble à ceci:

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();
        });
    }
}

Tout assez simple, sauf qu'il met cette erreur:

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

J'ai flirté avec symfony2 et ont suivi avec succès la instructions pour la configuration de l'universel, chargeur de classe, mais dans ce cas je suis perplexe. Ai-je raté quelque chose? Toute aide serait appréciée.

Ne pouvaient pas se reproduire. Je l'ai essayé avec exactement le code que vous avez fourni et il a réussi. Vous allez avoir à vérifier vos noms ou partagez vos code.

OriginalL'auteur meouw | 2011-05-30