Вывод формы Zend в массив ключа => значения

#zend-framework #zend-form

#zend-framework #zend-форма

Вопрос:

Я хотел бы, чтобы объект Zend_Form выводился как по существу

массив (‘name’ => ‘введите имя пользователя в БД’, ‘description’ => ‘описание, которое есть в базе данных’);

до сих пор, если я делаю

print_r((array) $form);

Я получаю:

 {"u0000*u0000_attribs":{"name":"add","enctype":"multipart/form-data","method":"post"},"u0000*u0000_decorators":{"FormElements":{"decorator":"FormElements","options":null},"HtmlTag":{"decorator":"HtmlTag","options":{"tag":"dl","class":"zend_form"}},"Form":{"decorator":"Form","options":null}},"u0000*u0000_defaultDisplayGroupClass":"Zend_Form_DisplayGroup","u0000*u0000_description":null,"u0000*u0000_disableLoadDefaultDecorators":false,"u0000*u0000_displayGroupPrefixPaths":[],"u0000*u0000_displayGroups":[],"u0000*u0000_elementDecorators":null,"u0000*u0000_elementPrefixPaths":[],"u0000*u0000_elements":{"name":{"helper":"formText"},"name_url":{"helper":"formText"},"description":{"helper":"formTextarea","rows":"10"}
  

и так далее, много памяти Zend

Если я сделаю:

     $form = new Form_Administration_Movie_Add();
    $elements = $form->getElements();

    foreach($elements as $key => $element) {
     echo $key;
    }
  

Я получаю список полей, однако я не могу выполнить $element-> GetValue(), поскольку я просто получаю 0 или 1 и никаких фактических данных.

Идеи?

Ответ №1:

 $array = $form->getValues();
  

Работает ли это? 🙂

Редактировать: Возможно, вам потребуется использовать либо $form->isValid($_POST) , либо $form->populate($_POST) перед вызовом getValues() метода.