Estoy experimentando con la creación de una extensión con el Silex php micro framework para la autenticación del usuario, pero parece que no puedo hacer que el autocargador funcione. ¿Alguien puede arrojar algo de luz?Cómo registrar un espacio de nombres con el autocargador Silex
I tienen una estructura de directorio como esto (truncada)
usertest
|_lib
| |_silex.phar
| |_MyNamespace
| |_UserExtension.php
| |_User.php
|_www
|_index.php
Los bits pertinentes de index.php, que sirve como el bootstrap y la mirada controlador frontal como esto:
require '../lib/silex.phar';
use Silex\Application;
use MyNamespace\UserExtension;
$app = new Application();
$app['autoloader']->registerNamespace('MyNamespace', '../lib');
$app->register(new UserExtension());
El la clase que estoy tratando de carga es similar esto:
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();
});
}
}
Todo bastante sencillo excep t se lanza este error:
Fatal error: Class 'MyNamespace\UserExtension' not found in /home/meouw/Projects/php/usertest/www/index.php on line 8
he incursionado con Symfony2 y han seguido con éxito el instructions for setting up the universal class loader, pero en este caso estoy perplejo. ¿Me estoy perdiendo de algo? Cualquier ayuda sería apreciada.
No se pudo reproducirse. Lo intenté exactamente con el código que me proporcionó y lo logré. Deberá verificar sus nombres o compartir su código real. – igorw