Я пытаюсь передать настройки ACL из каталога модели в плагин ACL в bootstrap.Zend framework 1.11: модель доступа в bootstrap
public function _initPlugins()
{
$frontController = Zend_Controller_Front::getInstance();
$frontController->registerPlugin(new Petra_Plugin_Layout_MultiLayout());
$frontController->registerPlugin(new Petra_Plugin_Controller_AclCheck(new Auth_Model_Acl_Acl()));
}
но автозагрузчик не может найти класс Auth_Model_Acl_Acl в модуле Auth. Есть ли способ инициализировать структуру MVC в бутстрапе? Или, может быть, есть лучший способ сохранить настройки ACL?
EDIT - больше информаций:
Bootstrap:
class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
{
private $view;
public function _initProperties()
{
$this->bootstrap("layout");
$layout = $this->getResource('layout');
$this->view = $layout->getView();
}
public function _initAutoload()
{
$autoloader = Zend_Loader_Autoloader::getInstance();
$autoloader->registerNamespace("Petra_");
// Added recently - not helping :(
$moduleLoader = new Zend_Application_Module_Autoloader(array(
'namespace' => '',
'basePath' => APPLICATION_PATH . '/modules'
));
$test = new Auth_Model_Acl_Acl();
return $moduleLoader;
}
public function _initPlugins()
{
$frontController = Zend_Controller_Front::getInstance();
$frontController->registerPlugin(new Petra_Plugin_Layout_MultiLayout());
}
}
Application.ini: структура
enter code here
[production]
phpSettings.display_startup_errors = 0
phpSettings.display_errors = 0
includePaths.library = APPLICATION_PATH "/../library"
bootstrap.path = APPLICATION_PATH "/Bootstrap.php"
bootstrap.class = "Bootstrap"
appnamespace = "Application"
resources.frontController.params.displayExceptions = 0
resources.modules = ""
resources.frontController.controllerDirectory = APPLICATION_PATH "/controllers"
resources.layout.layoutPath = APPLICATION_PATH "/layouts/scripts"
resources.frontController.moduleDirectory = APPLICATION_PATH "/modules"
[staging : production]
[testing : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
[development : production]
phpSettings.display_startup_errors = 1
phpSettings.display_errors = 1
resources.frontController.params.displayExceptions = 1
Каталог:
/Application
/Config
application.ini
/layouts
default.phtml
/modules
/admin
...
/auth
/controllers
...
/models
/Acl
Acl.php
/views
...
boostrtrap.php
зарегистрировавшихся вы путь Petra_Plugin с автозагрузчиком? –
Плагин регистрации работает нормально, я получаю форму ошибки 'new Auth_Model_Acl_Acl()' – Adam