fuelphp/fieldset

此包已被弃用且不再维护。未建议替代包。

表单生成和构建

dev-master / 2.0.x-dev 2015-04-06 17:08 UTC

This package is auto-updated.

Last update: 2023-01-30 20:25:56 UTC


README

Build Status Code Coverage Quality Score HHVM Status

表单生成和构建。

此包将替代FuelPHP v1.x核心提供的默认Fieldset类,由FuelPHP v2.0的fieldset包提供。

安装

通过Composer

$ composer require fuelphp/fieldset

一旦包达到合适的里程碑,将创建一个标记版本发布。

入门

通过首先创建一个容器对象,一个 FormFieldset,来创建表单。然后可以向这些容器中添加 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 类。

  • 按钮
  • 复选框
  • 复选框组
  • 邮箱
  • 文件
  • 隐藏
  • 选项组
  • 选项
  • 密码
  • 单选按钮
  • 单选按钮组
  • 重置
  • 选择
  • 提交
  • 文本
  • 多行文本框

在组中使用时,分组复选框和单选按钮现在有自己的重置和命名逻辑,因此有 ChecboxGroupRadioGroup 类。选择元素由 OptionOptgroup 组成。有关复选框/单选按钮组和选择元素的更多信息,请参阅此处

显示表单

与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框架兼容的表单。

第三方渲染器