bancer/form-builder

CakePHP 的 HTML 表单构建器

0.9.1 2021-10-19 19:55 UTC

This package is auto-updated.

Last update: 2024-09-20 02:11:51 UTC


README

此包是 CakePHP FormHelper 的包装器。与 CakePHP 3.x 和 4.x 兼容。

如何安装

执行 composer require bancer/form-buildercomposer require bancer/form-builder --update-no-dev 以通过 composer 安装。

为什么和使用时机

如果您希望获得与 CakePHP 的 FormHelper 类提供的不同界面来构建 HTML 表单,请使用此包。此包包装 FormHelper 类,并提供构建方法而不是 FormHelper 方法选项。它不会更改 FormHelper 的行为。此外,它还提供了一些常见 HTML 元素属性的方法。由于构建表单元素所需的魔法字符串数量减少,因此它预计会使构建表单更容易、更不易出错。额外的好处是在任何支持自动补全 PHP 代码的 IDE 或编辑器中进行代码自动补全。

如何使用

视图文件中的示例

use Bancer\FormBuilder\FormBuilder;
...
$FormBuilder = new FormBuilder($this->Form); // where $this->Form is an instance of FormHelper
$FormBuilder->newForm($user)
    ->method('post')
    ->url(['controller' => 'users', 'action' => 'edit'])
    ->encoding('UTF-8')
    ->id('edit-user')
    ->classes('narrow-form');
echo $FormBuilder->newControl('User.email')
    ->label(__('Email'))
    ->readOnly()
    ->size(50)
    ->attribute('data-validated', 1)
    ->attribute('oninvalid', 'alert('Invalid email')');
echo $FormBuilder->newControl('User.password')
    ->label(__('Password'))
    ->type('password')
    ->size(30)
    ->minLength(8)
    ->maxLength(30)
    ->required(false);
echo $FormBuilder->newSubmit(__('Submit'));
echo $FormBuilder->end();