ppi / form
本包最新版本(1.0)没有可用的许可证信息。
1.0
2014-07-03 14:39 UTC
Requires
- symfony/validator: 2.2.*
Requires (Dev)
This package is not auto-updated.
Last update: 2024-09-14 15:00:39 UTC
README
创建元素
要创建元素,您需要访问该元素类型的相应方法。或者,您也可以使用底层的add()
或addElement(ElementInteface $element)
方法。
<?php $form = new Form(); $form->text('username'); $form->password('password'); $form->password('confirm_password'); $form->submit('submit_button', 'Click to Continue');
获取元素
在创建时获取元素
<?php $form = new Form(); $usernameElement = $form->text('username');
在稍后日期获取元素
$form->text('username'); $usernameElement = $form->get('username');
创建元素并设置其属性
<?php $form = new Form(); $form->text('username') ->attr('class', 'username-field') ->attr('id', 'username-field');
创建元素并设置其值
<?php $form = new Form(); $form->text('username')->setValue($userEntity->getUsername());
渲染元素
每个元素对象都有一个__toString()
方法别名render()
,因此您可以直接echo对象来渲染它们
控制器代码
<?php $form = new Form(); // ... add elements return $this->render('....', compact('form')); ?>
模板代码
<div class="username-container"> <?= $form->getElement('username'); ?> </div>
将数据绑定到您的表单中
当在您的实体上调用toArray()
时,您将有一个名为username
的数据键,它与添加的名为username
的文本字段的名称相匹配。
<?php $form = new Form(); $form->text('username'); $entity = new UserEntity($userHelper->getByID($userID)); $form->bind($entity->toArray());
创建自定义元素
只要您的元素实现了ElementInteface
,您就可以将其添加到表单中。
<?php $element = new CustomElement(); $element->setValue($someValue); $element->attr('id', 'custom-element'); $form->addElement($element);
您的自定义元素的示例
<?php use PPI\Form\Element\ElementInterface; class CustomElement implements ElementInterface { protected $type = 'CustomElement'; // .. implement the methods in ElementInterface }