Я экспериментирую с созданием расширения с микроструктурой Silex php для аутентификации пользователей, но я не могу заставить автозагрузчик работать. Может ли кто-нибудь пролить свет?
У меня такая структура каталогов (усеченная)
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() );
Класс, который я пытаюсь загрузить, выглядит примерно так:
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 и успешно выполнил инструкции для настройки универсального загрузчика классов, но в этом случае я в тупике. Я что-то упускаю? Любая помощь будет оценена.