Проблема конфигурации zend_form - PullRequest
1 голос
/ 03 августа 2011

У меня есть такая структура:

/application
.....
--/modules
----/structure
------/controllers
--------/indexController.php
------/forms
--------/Department.php //here class Structure_Form_Department extends Zend_Form

в indexController.php

...
public function saveAction()
    {
        $request = $this->getRequest();
        $form = new Structure_Form_Department();//<-- error
....
}

и я получаю ошибку

Неустранимая ошибка: класс «Structure_Form_Department» не найден

при попытке zf enable form module - получить:

An Error Has Occurred                         
 This project already has forms enabled.

Я думаю, что это проблема с настройками ... но я не понимаю, что мне нужно делать ...

РЕДАКТИРОВАТЬ 1

нашел хорошее решение здесь

но по какой-то причине Zend начинает повторять выполнение _init... функций из начальной загрузки bootstrap.php ....

Ответы [ 2 ]

12 голосов
/ 04 августа 2011

Я также столкнулся с подобной проблемой несколько месяцев назад, и я нашел решение, написав следующий код:

В application.ini

autoloadernamespaces[] = "Structure_"

В Bootstrap.php

protected function _initAutoload()
    {
        $autoloader=new Zend_Application_Module_Autoloader(array(
                'namespace' => 'Structure',
                'basePath' => dirname(__FILE__).DIRECTORY_SEPARATOR.'Structure'
            ));
    }

И на index.php

set_include_path(implode(PATH_SEPARATOR, array(
    realpath(APPLICATION_PATH . '/../library'),
    realpath(APPLICATION_PATH),
    get_include_path(),
)));

Пожалуйста, дайте мне знать, если это не работает .....

0 голосов
/ 03 августа 2011

Я думаю, добавление Application перед Structure_Form_Department будет работать.

т.е.

Application_Structure_Form_Department()

Или вы можете указать в config.ini значение от appnamespace = "Application" до appnamespace = ''.

У меня есть кусок кода на github. Вы можете увидеть, как работают модули.

$contactForm = new Contact_Form_Contact();

Имя формы

class contact_Form_Contact extends Zend_Form

Все коды на github. Проверьте это.

https://github.com/harikt/blog/blob/master/application/modules/contact/controllers/IndexController.php

https://github.com/harikt/blog/blob/master/application/modules/contact/forms/Contact.php

...