欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

PHP實現(xiàn)動態(tài)表單生成工具詳解

 更新時間:2022年03月15日 10:39:35   作者:mgckid  
表單包含多種input類型,包括 hiiden類型 ,text類型,radio類型等。但手寫表單累,耗時耗力,開發(fā)銷量太低且代碼量大了還容易寫出bug,所以本文將用PHP編寫動態(tài)表單生成工具,需要的可以參考一下

表單包含多種input類型,包括 hiiden類型 ,text類型,radio類型,checkbox類型,textarea類型,file類型,select類型等基礎(chǔ)類型,手寫表單就是累耗時耗力開發(fā)銷量太低而且代碼量大了還容易寫出bug,每個頁面的表單遇到改動的時候恨不得長十雙手去改,于是我自己開發(fā)了一個php寫的表單生成工具,在業(yè)務(wù)邏輯通過配置或者鏈?zhǔn)讲僮魅コ跏急韱谓Y(jié)構(gòu)和數(shù)據(jù),不管有多少頁面都只需要通過配置下就行,我寫的這個表單工具 支持塊表單,行內(nèi)表單,table類型表單,支持表單美化 默認(rèn)是layui效果,也支持jquery控制表單行為,只需要引入layui樣式和js即可。在github主頁demo目錄也提供了示例代碼運行查看效果,

Form介紹

使用php編寫的html表單生成工具,沒有任何依賴可獨立使用,支持鏈?zhǔn)讲僮骱团渲脛?chuàng)建表單,支持表單美化(默認(rèn)為layui風(fēng)格)

特點

  • 沒有任何依賴可獨立使用
  • 支持鏈?zhǔn)讲僮鲃?chuàng)建表單
  • 支持?jǐn)?shù)組配置創(chuàng)建表單
  • 支持塊表單
  • 支持行內(nèi)表單
  • 支持table表單
  • 支持表單美化(默認(rèn)為layui風(fēng)格)且方便擴(kuò)展

項目主頁鏈接

github: https://github.com/mgckid/form

gitee:https://gitee.com/mgckid/form

安裝方法

composer require mgckid/form

快速使用

鏈?zhǔn)讲僮鲃?chuàng)建塊表單

<?php
require __DIR__ . '/../src/Form.php';
Form::getInstance()
    ->form_method(Form::form_method_post)
    ->form_action('/')
    ->input_text('姓名', '', 'name', '法外狂徒張三')
    ->radio('性別', '', 'male', ['male' => '男', 'female' => '女'], 'male')
    ->checkbox('愛好', '', 'interest', ['ktv' => 'K歌', 'dance' => '跳舞', 'movie' => '看電影', 'run' => '跑步'], 'ktv,run')
    ->input_inline_start()
    ->input_text('省份', '', 'sheng', '湖北省')
    ->input_text('市', '', 'shi', '武漢市')
    ->input_text('區(qū)', '', 'qu', '武昌區(qū)')
    ->input_text('街道', '', 'jie', '紫陽路36號')
    ->input_inline_end()
    ->input_hidden('id', '1')
    ->input_text('user name', '', 'user', 'admin')
    ->input_password('password', '', 'password', '123456')
    ->radio('is active', '', 'is_active', [
        ['value' => '1', 'name' => 'active'],
        ['value' => '0', 'name' => 'unactive']
    ], 1)
    ->checkbox('user role', '', 'role', [
        ['value' => '1', 'name' => 'boss'],
        ['value' => '2', 'name' => 'manager'],
        ['value' => '3', 'name' => 'employee'],
    ], '1,2')
    ->select('user department', '', 'department', [
        ['value' => '1', 'name' => 'sales'],
        ['value' => '2', 'name' => 'hr'],
        ['value' => '3', 'name' => 'secured'],
    ], 1)
    ->form_class(LayuiForm::form_class_pane)
    ->input_submit('確認(rèn)保存', 'class="layui-btn" lay-submit lay-filter="saveBtn"')
    //->input_date()
    //->editor()
    //->form_data()
    //->table()
    ->create();
?>

數(shù)組配置創(chuàng)建塊表單

<?php
  require __DIR__ . '/../src/Form.php';
            $init = array(
                0 => array(
                    'title' => 'Id',
                    'name' => 'id',
                    'description' => 'Id',
                    'enum' => array(),
                    'type' => 'hidden',
                    'widget_type' => '',
                ),
                1 => array(
                    'title' => '用戶id',
                    'name' => 'user_id',
                    'description' => '用戶id',
                    'enum' => array(),
                    'type' => 'hidden',
                    'widget_type' => '',
                ),
                2 => array(
                    'title' => '用戶名',
                    'name' => 'username',
                    'description' => '用戶名',
                    'enum' => array(),
                    'type' => 'text',
                    'widget_type' => '',
                ),
                3 => array(
                    'title' => '真實姓名',
                    'name' => 'true_name',
                    'description' => '真實姓名',
                    'enum' => array(),
                    'type' => 'text',
                    'widget_type' => '',
                ),
                4 => array(
                    'title' => '密碼',
                    'name' => 'password',
                    'description' => '密碼',
                    'enum' => array(),
                    'type' => 'text',
                    'widget_type' => '',
                ),
                5 => array(
                    'title' => '郵箱',
                    'name' => 'email',
                    'description' => '郵箱',
                    'enum' => array(),
                    'type' => 'text',
                    'widget_type' => '',
                ),
                6 => array(
                    'title' => '是否刪除',
                    'name' => 'deleted',
                    'description' => '是否刪除',
                    'enum' => array(
                        0 => '未刪除',
                        1 => '已刪除',
                    ),
                    'type' => 'none',
                    'widget_type' => '',
                ),
                7 => array(
                    'title' => '創(chuàng)建時間',
                    'name' => 'created',
                    'description' => '創(chuàng)建時間',
                    'enum' => array(),
                    'type' => 'none',
                    'widget_type' => 'date',
                ),
                8 => array(
                    'title' => '修改時間',
                    'name' => 'modified',
                    'description' => '修改時間',
                    'enum' => array(),
                    'type' => 'none',
                    'widget_type' => 'date',
                ),
            );
            $data = array(
                'id' => 2,
                'user_id' => 'feac0fa3-3245-11e6-9b90-e03f49a02407',
                'username' => 'admin',
                'true_name' => '系統(tǒng)管理員',
                'email' => '',
                'deleted' => 0,
                'created' => '2016-06-14 23:39:52',
                'modified' => '2020-03-12 20:07:48',
            );
            \Form::getInstance()
                ->form_schema($init)
                ->form_data($data)
                ->input_submit('確認(rèn)保存', 'class="layui-btn" lay-submit lay-filter="saveBtn"')
                ->create();

行內(nèi)表單

<?php
  require __DIR__ . '/../src/Form.php';
      $init = array(
                0 => array(
                    'title' => 'Id',
                    'name' => 'id',
                    'description' => 'Id',
                    'enum' => array(),
                    'type' => 'hidden',
                    'widget_type' => '',
                ),
                1 => array(
                    'title' => '用戶id',
                    'name' => 'user_id',
                    'description' => '用戶id',
                    'enum' => array(),
                    'type' => 'text',
                    'widget_type' => '',
                ),
                2 => array(
                    'title' => '用戶名',
                    'name' => 'username',
                    'description' => '用戶名',
                    'enum' => array(),
                    'type' => 'text',
                    'widget_type' => '',
                ),
                3 => array(
                    'title' => '真實姓名',
                    'name' => 'true_name',
                    'description' => '真實姓名',
                    'enum' => array(),
                    'type' => 'text',
                    'widget_type' => '',
                ),
                4 => array(
                    'title' => '密碼',
                    'name' => 'password',
                    'description' => '密碼',
                    'enum' => array(),
                    'type' => 'text',
                    'widget_type' => '',
                ),
                5 => array(
                    'title' => '郵箱',
                    'name' => 'email',
                    'description' => '郵箱',
                    'enum' => array(),
                    'type' => 'text',
                    'widget_type' => '',
                ),
                6 => array(
                    'title' => '是否刪除',
                    'name' => 'deleted',
                    'description' => '是否刪除',
                    'enum' => array(
                        0 => '未刪除',
                        1 => '已刪除',
                    ),
                    'type' => 'none',
                    'widget_type' => '',
                ),
                7 => array(
                    'title' => '創(chuàng)建時間',
                    'name' => 'created',
                    'description' => '創(chuàng)建時間',
                    'enum' => array(),
                    'type' => 'none',
                    'widget_type' => 'date',
                ),
                8 => array(
                    'title' => '修改時間',
                    'name' => 'modified',
                    'description' => '修改時間',
                    'enum' => array(),
                    'type' => 'none',
                    'widget_type' => 'date',
                ),
            );
            \Form::getInstance()
                ->input_inline_start()
                ->form_schema($init)
                ->input_submit('<i class="layui-icon"></i> 搜索', ' class="layui-btn layui-btn-primary" lay-submit lay-filter="data-search-btn"', 'class="layui-btn layui-btn-primary"')
                ->input_inline_end()
                ->form_class(\LayuiForm::form_class_pane)
                ->form_method(Form::form_method_get)
                ->create();

table表單

<?php
  require __DIR__ . '/../src/Form.php';
           $form_init = array (
                'id' =>array (
                        'title' => '主鍵',
                        'name' => 'id',
                        'description' => '主鍵',
                        'enum' =>array(),
                        'type' => 'hidden',
                        'widget_type' => '',
                    ),
                'name' =>array (
                        'title' => '配置名稱',
                        'name' => 'name',
                        'description' => '配置名稱',
                        'enum' =>array(),
                        'type' => 'text',
                        'widget_type' => '',
                    ),
                'description' =>array (
                        'title' => '配置描述',
                        'name' => 'description',
                        'description' => '配置描述',
                        'enum' =>array(),
                        'type' => 'text',
                        'widget_type' => '',
                    ),
                'input_type' =>array (
                        'title' => '表單類型',
                        'name' => 'input_type',
                        'description' => '表單類型',
                        'enum' =>array (
                                'hidden' => '隱藏域',
                                'select' => '下拉',
                                'radio' => '單選按鈕',
                                'text' => '文本',
                                'textarea' => '多行文本',
                                'file' => '上傳',
                                'none' => '非表單',
                                'editor' => '富文本',
                                'checkbox' => '復(fù)選框',
                                'date' => '日期',
                            ),
                        'type' => 'select',
                        'widget_type' => '',
                    ),
                'created' =>array (
                        'title' => '創(chuàng)建時間',
                        'name' => 'created',
                        'description' => '創(chuàng)建時間',
                        'enum' =>array(),
                        'type' => 'none',
                        'widget_type' => 'date',
                    ),
                'modified' =>array (
                        'title' => '修改時間',
                        'name' => 'modified',
                        'description' => '修改時間',
                        'enum' =>array(),
                        'type' => 'none',
                        'widget_type' => 'date',
                    ),
                'deleted' =>array (
                        'title' => '刪除標(biāo)記',
                        'name' => 'deleted',
                        'description' => '刪除標(biāo)記',
                        'enum' =>array (
                                0 => '未刪除',
                                1 => '已刪除',
                            ),
                        'type' => 'none',
                        'widget_type' => '',
                    ),
            );
            $form_data=array (
                0 =>
                    array (
                        'id' => 73,
                        'name' => 'solution_introduction',
                        'value' => '111',
                        'description' => '解決方案介紹',
                        'input_type' => 'textarea',
                        'created' => '2018-12-07 11:44:40',
                        'modified' => '2022-03-08 00:32:08',
                        'deleted' => 0,
                    ),
                1 =>
                    array (
                        'id' => 72,
                        'name' => 'tese_product_introduction',
                        'value' => '222',
                        'description' => '特色產(chǎn)品介紹',
                        'input_type' => 'textarea',
                        'created' => '2018-12-07 11:43:52',
                        'modified' => '2022-03-08 00:32:09',
                        'deleted' => 0,
                    ),
                2 =>
                    array (
                        'id' => 71,
                        'name' => 'new_product_introduction',
                        'value' => '333',
                        'description' => '新產(chǎn)品介紹',
                        'input_type' => 'textarea',
                        'created' => '2018-12-07 11:41:37',
                        'modified' => '2022-03-08 00:32:09',
                        'deleted' => 0,
                    ),
                3 =>
                    array (
                        'id' => 70,
                        'name' => 'site_pinterest',
                        'value' => '',
                        'description' => 'Pinterest堪稱圖片版的Twitter鏈接',
                        'input_type' => 'text',
                        'created' => '2018-11-19 11:48:12',
                        'modified' => '2019-04-27 14:08:07',
                        'deleted' => 0,
                    ),
                4 =>
                    array (
                        'id' => 69,
                        'name' => 'site_twitter',
                        'value' => '',
                        'description' => 'Twitter(非官方漢語通稱推特)鏈接',
                        'input_type' => 'text',
                        'created' => '2018-11-19 11:47:04',
                        'modified' => '2019-04-27 14:08:07',
                        'deleted' => 0,
                    ),
                5 =>
                    array (
                        'id' => 68,
                        'name' => 'site_facebook',
                        'value' => '',
                        'description' => 'Facebook(臉書)鏈接',
                        'input_type' => 'text',
                        'created' => '2018-11-19 11:46:07',
                        'modified' => '2019-04-27 14:08:07',
                        'deleted' => 0,
                    ),
                6 =>
                    array (
                        'id' => 67,
                        'name' => 'site_google_plus',
                        'value' => '',
                        'description' => 'Google+SNS社交網(wǎng)站鏈接',
                        'input_type' => 'text',
                        'created' => '2018-11-19 11:45:26',
                        'modified' => '2019-04-27 14:08:07',
                        'deleted' => 0,
                    ),
                7 =>
                    array (
                        'id' => 66,
                        'name' => 'site_linkedin',
                        'value' => '',
                        'description' => 'LinkedIn領(lǐng)英鏈接',
                        'input_type' => 'text',
                        'created' => '2018-11-19 11:43:53',
                        'modified' => '2019-04-27 14:08:07',
                        'deleted' => 0,
                    ),
                8 =>
                    array (
                        'id' => 65,
                        'name' => 'site_livechat_code',
                        'value' => '',
                        'description' => 'livezilla在線客服代碼',
                        'input_type' => 'textarea',
                        'created' => '2018-11-15 16:45:15',
                        'modified' => '2019-04-27 14:08:07',
                        'deleted' => 0,
                    ),
                9 =>
                    array (
                        'id' => 64,
                        'name' => 'site_skype',
                        'value' => '',
                        'description' => '聯(lián)系skype',
                        'input_type' => 'text',
                        'created' => '2018-11-15 16:44:40',
                        'modified' => '2019-04-27 14:08:07',
                        'deleted' => 0,
                    )
            );
            \Form::getInstance()
                ->table('擴(kuò)展配置', '', 'site_config', $form_init, $form_data)
                ->create();

以上就是PHP實現(xiàn)動態(tài)表單生成工具詳解的詳細(xì)內(nèi)容,更多關(guān)于PHP表單生成工具的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

最新評論