fuelphp / fieldset
表单生成和构建
Requires
- php: >=5.4
- fuelphp/common: ~2.0
Requires (Dev)
- codeception/codeception: ~2.0.10
- codeception/mockery-module: dev-master
- fuelphp/validation: dev-master
Suggests
- fuelphp/validation: Allows forms to be validated
This package is auto-updated.
Last update: 2023-01-30 20:25:56 UTC
README
表单生成和构建。
此包将替代FuelPHP v1.x核心提供的默认Fieldset类,由FuelPHP v2.0的fieldset包提供。
安装
通过Composer
$ composer require fuelphp/fieldset
一旦包达到合适的里程碑,将创建一个标记版本发布。
入门
通过首先创建一个容器对象,一个 Form
或 Fieldset
,来创建表单。然后可以向这些容器中添加 Inputs
。
<?php use Fuel\Fieldset\Form; use Fuel\Fieldset\Input; $form = new Form; $form[] = new Input\Text('name'); $form[] = new Input\Submit('submit', [], 'GO!'); //This will repopulate the form with any submitted data $form->repopulate(); //This will repopulate the form with the given data, the flag indicates wether to call `repopulate()` after or not $form->populate($myData, true);
InputElement 类型
当前存在 InputElement
类。
- 按钮
- 复选框
- 复选框组
- 邮箱
- 文件
- 隐藏
- 选项组
- 选项
- 密码
- 单选按钮
- 单选按钮组
- 重置
- 选择
- 提交
- 文本
- 多行文本框
在组中使用时,分组复选框和单选按钮现在有自己的重置和命名逻辑,因此有 ChecboxGroup
和 RadioGroup
类。选择元素由 Option
和 Optgroup
组成。有关复选框/单选按钮组和选择元素的更多信息,请参阅此处。
显示表单
与v1 fieldsets不同,创建表单html时使用了一个完全独立的类。虽然每个 InputElement
都知道如何以最基本的形式显示自己,但使用 Renderer
可以实现更复杂的行为。这可以包括将表单生成为表格或列表等。默认情况下,BasicRender
将表单渲染为表格,与v1 fieldsets类似。将来,可能会向包中添加其他基本渲染器,以支持开箱即用的基于列表的表单。欢迎提交拉取/合并请求。
渲染类都以相同的基本方式使用
<?php use Fuel\Fieldset\Render\BasicRender; $engine = new BasicRender(); $formHtml = $engine->render($form);
如果默认的渲染器不适合您的需求,可以轻松创建自己的渲染器。以下是一个示例,请查看 BasicRender
代码,以及此处。如果您为UI工具包或CSS框架创建了自定义渲染器,请考虑提交拉取请求!
包含的渲染器
Fieldset附带了一些基本的渲染器,一个不添加任何格式或CSS的通用渲染器,以及一个基于Bootstrap3的渲染器,它将构建与Bootstrap CSS框架兼容的表单。