Zend_Form не рендерит - PullRequest
       28

Zend_Form не рендерит

1 голос
/ 02 ноября 2011

Ребята, у меня возникли проблемы с отображением формы на моей веб-странице.Ну, это хорошо работает на моем локальном сервере, но как только я использую тот же код на удаленном сервере, веб-страница отображается нормально, но форма отсутствует.

Localhost: ОС: Win 7PHP: 5.3.8Apache: 2.2.21Zend: 1.11.3

Удаленный сервер: ОС: Linux CentOS выпуск 5.5
PHP: 5.3.8Apache: 2.2.3Zend: 1.11.3

FeedbackForm.php

класс forms_FeedbackForm расширяет Zend_Form {

открытая функция init () {

$ this-> setAction ('') -> setMethod ('post') -> setName ('feedbackForm');

$ feedback = new Zend_Form_Element_Textarea ('feedback');

$ submit = new Zend_Form_Element_Button ('submitButton');

$ this-> addElement ($ feedback) -> addElement ($ submit);
}}

IndexController.php

класс IndexController расширяетZend_Controller_Action {

открытая функция indexAction () {

$ form = new forms_FeedbackForm ();

  $this->view->form = $form;

}}

index.phtml

echo $ this-> form;

Однако, если я заменю оператор echo на print_r ($ this-> form), я увижу детали объекта на обоих серверах.

Ответы [ 3 ]

1 голос
/ 14 мая 2012

Используйте заглавную букву для своего класса: Forms_FeedbackForm вместо forms_FeedbackForm.Автозагрузчик не находит его в Linux.

Обычно, когда такие проблемы возникают между серверами Linux и Windows, это большая проблема.Linux чувствителен к регистру, Windows - нет.

0 голосов
/ 02 ноября 2011

Убедитесь, что ваше представление выглядит как <?php echo $this->form; ?>, в противном случае PHP на самом деле не будет выполняться.

0 голосов
/ 02 ноября 2011

Ваш код выглядит нормально. Я предлагаю вам установить исключения отображения в вашем application.ini:

resources.frontController.params.displayExceptions = 1 И убедитесь, что в вашем представлении ошибок отображаются исключения.

...