geggleto/form-builder

面向对象表单构建器

2.1.2 2017-03-09 21:45 UTC

This package is auto-updated.

Last update: 2024-08-29 04:36:56 UTC


README

轻松制作HTML表单。

工厂

  • Bootstrap 3

但如果你想使用其他东西,请随意构建和提交Pull Request。

为什么?

将你的UI与流行的CSS框架解耦。

如何?

喜欢新的CSS框架?编写你自己的工厂!

Csv解析器

$builder = new Builder(new Factory()); //default is Bootstrap 3
$root = $builder->build((new CsvParser())->parseSchemaCsvToArray("form.csv"), "Login");
$builder->write($rootElement, './userLoginForm.php');

Json解析器

$builder = new Builder(new Factory()); //default is Bootstrap 3
$root = $builder->build((new JsonParser())->parseSchemaCsvToArray("form.json"), "Login");
$builder->write($rootElement, './userLoginForm.php');

过程式

$builder = new Builder(new Factory()); //default is Bootstrap 3

$schema = []; 

$schema[] = $builder->getSchemaForColumn('username')
    ->setPlaceholder('Username');
    ->setType('text');

$schema[] = $builder->getSchemaForColumn('password')
    ->setPlaceholder('Password');
    ->setType('password');

$schema[] = $builder->getSchemaForColumn('domain')
    ->setPlaceholder('Password');
    ->setType('select')
    ->setOptions([
        "example.com" => 1,
        "beta.example.com" => 2,
        "theta.example.com" => 3,
    ]);

$rootElement = $builder->build($schema, 'Login');

$builder->write($rootElement, './userLoginForm.php');