#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()
метода.