Формы — важная часть приложения на Zend Framework, а умение их создавать — неотъемлемая обязанность веб-разработчика. Как и в случае с модулем, для создания формы понадобится PHP-класс, в методе которого будут указаны будущие элементы формы. Для работы с формой, необходимо правильно настроить методы контроллера приложения. Класс формы в ZF2 приведён ниже. Этот класс расширяет компонент Zend\Form\Form и в конструкторе содержит строки вроде $this->add(array(‘name’ => ‘id’,’type’ => ‘Hidden’,)) — создаётся скрытое поле с атрибутом name равным id.
Zend Framework форма и контроллер
В руководстве пользователя приводится пример реализации формы Zend Framework
namespace Album\Form; use Zend\Form\Form; class AlbumForm extends Form { public function __construct($name = null) { // we want to ignore the name passed parent::__construct('album'); $this->add(array( 'name' => 'id', 'type' => 'Hidden', )); $this->add(array( 'name' => 'title', 'type' => 'Text', 'options' => array( 'label' => 'Title', ), )); $this->add(array( 'name' => 'artist', 'type' => 'Text', 'options' => array( 'label' => 'Artist', ), )); $this->add(array( 'name' => 'submit', 'type' => 'Submit', 'attributes' => array( 'value' => 'Go', 'id' => 'submitbutton', ), )); } }
При правильном прохождении всех пунктов руководства, вы получите форму и около 5 методов контроллера, каждый из которых отвечает за страницу приложения. Каждая из страниц несёт ответственность за свою часть работы: показ основного содержимого, редактирование нового альбома, удаление альбома (с подтверждением), добавление нового альбома.