Вы определяете автозагрузчик ресурсов 'Zend_Application_Module_Autoloader' для поиска классов без пространства имен и из каталога APPLICATION_PATH.'/ modules'
Автозагрузчик имеет массив ресурсов:
array(8) {
["Model_DbTable"]=>
string(74) "/path/to/application/modules/models/DbTable"
["Model_Mapper"]=>
string(74) "/path/to/application/modules/models/mappers"
["Form"]=>
string(65) "/path/to/application/modules/forms"
["Model"]=>
string(66) "/path/to/application/modules/models"
............
}
Автозагрузчик ресурсов находит этот класс 'Auth_Model_Acl_Acl' в качестве ресурса 'Auth' или 'Auth_Model' или 'Auth_Model_Acl'или Auth_Model_Acl_Acl'.Это не действительные ресурсы.Автозагрузчик вернет false в строке 177 класса 'Zend_Loader_Autoloader_Resource'.
Следующее автоматически загрузит класс вашей модели:
$moduleLoader = new Zend_Application_Module_Autoloader(array(
'namespace' => 'Auth',
'basePath' => APPLICATION_PATH . '/modules/auth'
));
Решение (создайте свой собственный автозагрузчик): Добавьте следующее после автозагрузчика.Вы можете изменить 'Petra_Autoloader' на любой другой класс, который вам нужен.
$autoloader->pushAutoloader(new Petra_Autoloader, '');
Создать класс, который реализует Zend_Loader_Autoloader_Interface
class Petra_Autoloader implements Zend_Loader_Autoloader_Interface{
public function autoload($class)
{
// your implementation to load the class
}
}
Bootstrap.php
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
//............
public function _initAutoload() {
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace("Petra_");
$autoloader->pushAutoloader(new Petra_Autoloader, '');
$test = new Auth_Model_Acl_Acl();
return $moduleLoader;
}
//..............
}
Надеждаэто помогает
Обновление
В вашем application.ini у вас есть appnamespace = "Приложение".Автоматическая загрузка класса модели «Default_Model_MockupsElementsTypes» из APPLICATION_PATH «/ models» завершится неудачно, поскольку автозагрузчик ищет классы, начинающиеся с «Application». Имя класса «Application_Model_MockupsElementsTypes».
В моей тестовой машине естьи все работало нормально:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap {
//............
public function _initAutoload() {
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace("Petra_");
$autoloader->pushAutoloader(new Petra_Autoloader, '');
$test2 = new Application_Model_DbTable_Guestbook; // classes loaded with the autoloader
$test = new Auth_Model_Acl_Acl();
return $moduleLoader;
}
//..............
}