eftec/formone

在PHP上创建HTML表单

1.8 2020-01-13 19:39 UTC

This package is auto-updated.

Last update: 2024-09-14 05:59:22 UTC


README

在PHP上创建HTML表单

Packagist Total Downloads Maintenance composer php php CocoaPods

而不是编写此代码

<form method='POST' enctype='multipart/form-data' >
<label for='field1'>field 1:</label>
<input type='text' name='field1' id='field1'value='' />
<br>
</form>

使用此代码代替

<?php
$f=new \eftec\FormOne();

echo $f->start();
echo $f->id('field1')
    ->label('field 1:')
    ->type('label')
    ->render();
echo $f->id('field1')
    ->type('text')
    ->render();
echo $f->renderRaw('<br>');
echo $f->end();

render()

这是链的末端。它生成最终结果(HTML)

start()

开始表单(

)

end()

结束表单(

)

idForm($idForm)

设置当前表单的标识符。

prefix($prefix)

标记由名称字段使用的名称前缀。例如 "frm_"

name($name)

设置当前链的名称。

注意:如果在链的末端未设置id(),则它也会设置 id

id($id)

它设置当前链的id。

注意:如果在链的末端未设置name(),则它也会设置 name

disabled($disabled=true)

它设置链的禁用属性

type($type)

addClass($classes)

它向当前元素添加一个类。您可以使用不同的调用添加多个类。例如

$form
    ->addClass("col-sm-2 col-form-label")
$form
    ->addClass("col-sm-2")
    ->addClass("col-form-label")

classType($type,$classes)

它向同一类型的所有元素添加一个类

$f->classType('label','col-sm-2 col-form-label'); // for all labels
$f->classType('text','col-sm-10 form-control'); // for all textbox
$f->classType('select','col-sm-10 form-control'); // for all select

value($value)

它设置当前值,例如文本框的默认值

itemValue($value)

它设置元素的值。它与value不同,因为它用于值是"checked"时

label($label)

它设置元素的标签。
它用于标签、复选框、单选按钮和按钮(内联HTML)

addItem($idOrArray,$text=null,$extra=null)

它向列表添加一个简单项目。通常用于type="select"时

$form->addItem('','--select a field--')
$form->addItem(['id'=>'','text'=>'--select a field--'])

addItems($items)

它向列表添加多个项目。

$array=[
            ['id'=>1,'text'=>'America'],
            ['id'=>2,'text'=>'Asia'],
            ['id'=>3,'text'=>'Europa'],
        ];
$form->addItem($array)

addExtra($type,$value=null)

addAttr($type,$value=null)

onClick($js)

onChange($js)

addJScript($type,$js)

bind($bind)

inner($htmlInner)

readonly($readonly=true)

required($required=true)

示例

$form->type('label')
    ->id('id')
    ->addClass("col-sm-2 col-form-label")
    ->inner('Id 1:')
    ->render()

它渲染

<label for='id' class="col-sm-2 col-form-label">Id 1:</label>

版本

  • 1.8 2020-01-13 一些小的更新
  • 1.7 2018-20-29 一点小的优化。现在如果类为空,则不渲染class=''
  • 1.6 2018-20-28 添加了"隐藏"类型。
  • 1.5 2018-20-27 一些清理和classType()
  • 1.4 2018-20-27 start()、end()、prefix()、idform()和"密码"类型。
  • 1.2 2018-10-22 一些清理。
  • 1.1 2018-10-22 新功能
  • 1.0 2018-10-21 第一个版本

许可协议

版权所有:Jorge Castro Castillo Eftec 2018

本程序提供双重许可,LGPLV2或商业许可。