【问题标题】:PHP Form Helper Class [closed]PHP表单助手类[关闭]
【发布时间】:2011-09-27 08:28:15
【问题描述】:

我需要一个简单的 PHP 表单助手类来构建表单。我四处搜索,所有出现的都是来自主要 PHP 框架的链接。我查看了他们所有的课程,但它们似乎不必要地过于复杂。是的,我也看过这个:http://code.google.com/p/php-form-builder-class/ 不好:)

你有没有遇到过他的简单堡垒?

【问题讨论】:

  • 您的具体要求是什么?
  • 简单的 PHP 表单类,我可以在我将编写的不同 PHP 脚本中使用。
  • 您对这样的“帮助类”有任何具体问题吗?

标签: php forms class helper


【解决方案1】:

我想推荐 ATK UI 的 Form 类。该课程旨在做到以下几点:

  • 使用语义 UI 构建表单 HTML(支持垂直、水平、多列和自定义布局)
  • 与数据存储(SQL、NoSQL)直接集成,处理类型转换(如日期、下拉列表、自动完成字段)。还有验证。
  • PHP 和 JavaScript 事件之间的集成。您指定表单提交时会发生什么 - 重定向、重新加载、关闭模式等。
  • 可扩展性。支持file uploads,它与 Flysystem、自定义字段、审计等集成。

(更多信息in the doc

该实现不依赖于任何特定的全栈框架,因此可以在任何 PHP 项目中使用。有integration into wordpress too

【讨论】:

    【解决方案2】:

    我一直在使用这个库,它运行良好。

    http://helpers.theframework.es/helper-form/examples/

    use TheFramework\Helpers\HelperForm;
    use TheFramework\Helpers\HelperLabel;
    use TheFramework\Helpers\HelperInputText;
    use TheFramework\Helpers\HelperSelect;
    
    $arFields = [];
    
    $oAux = new HelperLabel("txtNameId","My label for Name");
    $oAux->add_class("custom-control");
    $arFields[] = $oAux;
    
    $oAux = new HelperInputText();
    $oAux->add_class("col-4");
    $oAux->add_class("form-control");
    $oAux->add_extras("placeholder","Eg. Eduardo A. F.");
    $oAux->set_id("txtNameId");
    $oAux->set_name("txtName");
    $arFields[] = $oAux;
    
    $arFields["sel"] = new HelperSelect([""=>"choose...","one"=>"One","two"=>"Two","three"=>"Three"]);
    $arFields["sel"]->add_class("form-control col-4");
    
    $arFields["textarea"] = new TheFramework\Helpers\HelperTextarea();
    $arFields["textarea"]->add_class("form-control");
    $arFields["textarea"]->add_extras("placeholder","Your comments");
    $arFields["textarea"]->set_id("txaComments");
    
    $oForm = new HelperForm();
    $oForm->add_class("col-6");
    $oForm->add_style("border:1px dashed #4f9fcf;");
    $oForm->add_style("padding:5px;");
    $oForm->set_id("myForm");
    $oForm->set_method("some_method");
    $oForm->set_enctype("myEncType");
    $oForm->add_controls($arFields);
    $oForm->show();
    

    【讨论】:

      【解决方案3】:

      几个月前,我在一个项目中需要类似的东西,但不得不自己构建一个。您可以在https://github.com/mawuli-ypa/Php-html-class 浏览源代码并下载帮助程序。示例:

        $html = new html;  
        // OR $html = new html('div',array('id'=>'iv id here','class'=>'div class here','text'=>'div contents here'))
      
      
         //create basic elements
        $html->create("h1",array('text'=>"mawuli-ypa","class"=>"big","style"=>"font-    size:30px"));
        $html->create("h1",array('text'=>"@koceptone.com","class"=>"big","style"=>"font-size:20px"));
      

      表格:

       $html->create("form",array("enctype"=>"","multipart/form-data","method"=>"POST","action"=>"upload.php"));
       /* now render elements */
       $html->buildAll();
      

      这是一个实验性的助手,但非常有用。助手将很快更新。

      【讨论】:

        【解决方案4】:

        表格很复杂……它们就是这样。你从简单开始,然后你意识到你需要约束和验证。然后您意识到一个字段的可用性取决于另一个字段的值,依此类推。如果您只需要简单性,那么编写自己的表单字段标签并编写一些 PHP 来处理输入应该不会花费太多精力。这几乎是最简单的。

        【讨论】:

          【解决方案5】:

          这是我们用于所有网站的内容:CodeIgniter form_heper

          【讨论】:

          • 是的,看起来很复杂。
          • “复杂”我想都是相对的。
          • Simple 是一个生成 HTML 表单元素的表单类。
          • CodeIgniter form_helper 其实挺好用的。我会用那个。谢谢外星人!
          • 如何在 CodeIgniter 之外使用这个助手?
          【解决方案6】:

          来自 Zend 框架的 Zend_Form。也许并不简单但功能强大。我认为没有简单的类,因为整体的表单会变得非常复杂。

          【讨论】:

          • 是的,权力伴随着复杂性。需要更简单的东西。
          • 嗯,这些类是模块化的,所以如果你只需要一个简单的元素,那么只有那个元素有一个类。如果你只需要一个单选元素,你可以单独使用 Zend_Form_Element_Radio()。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-12-09
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-01-28
          • 2022-01-23
          • 1970-01-01
          相关资源
          最近更新 更多