Hola buenas. Tengo un sistema de autenticación hecho con Zend_Auth. Decidí cambiar el resultrow que mete el Auth por defecto en la sesión, por un objeto de mis modelos (Model_User en este caso). La cuestión es que funciona todo normal hasta que se recarga la página. Mi objeto en la sesión pasa a tener esta forma:
Código:
array(1) {
["user"] => array(1) {
["storage"] => object(__PHP_Incomplete_Class)#9 (15) {
["__PHP_Incomplete_Class_Name"] => string(10) "Model_User"
["id"] => string(1) "4"
["email"] => string(22) "[email protected]"
["name"] => string(6) "marcos"
}
}
}
Con lo cual, intuyo que el problema es que no se carga la definición de la clase antes de la sesión. Aquí os dejo mi bootstrap por si alguien sabe cómo puedo solucionar el problema:
Código PHP:
<?php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
protected function _initDatabase() {
$this->bootstrap ( 'db' );
$db = $this->getResource ( 'db' );
Zend_Registry::set ( 'dbAdapter', $db );
}
protected function _initSession() {
Zend_Session::start ();
//Set new auth storage session ($_SESSION['user])
Zend_Auth::getInstance ()->setStorage ( new Zend_Auth_Storage_Session ( 'user' ) );
}
protected function _initAutoLoad() {
Zend_Loader_Autoloader::getInstance()->registerNamespace('My_');
}
protected function _initResourceAutoload() {
$resourceLoader = new Zend_Loader_Autoloader_Resource (
array (
'basePath' => APPLICATION_PATH,
'namespace' => '',
'resourceTypes' => array (
'model' => array (
'path' => 'models/',
'namespace' => 'Model_'
)
)
)
);
return $resourceLoader;
}
protected function _initModuleAutolad() {
$autoloader = new Zend_Application_Module_Autoloader (
array (
'namespace' => '',
'basePath' => dirname ( __FILE__ ) . '/modules/default' )
);
//Zend_Debug::dump($autoloader);
return $autoloader;
}
}
¿Alguna solución? Saludos