PHP表单助手类[关闭]

Posted

技术标签:

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

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

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

【问题讨论】:

您的具体要求是什么? 简单的 PHP 表单类,我可以在我将编写的不同 PHP 脚本中使用。 您对这样的“帮助类”有任何具体问题吗? 【参考方案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()。

以上是关于PHP表单助手类[关闭]的主要内容,如果未能解决你的问题,请参考以下文章

我应该在标准 HTML 上使用表单助手吗?

PHP表单到数组[关闭]

PHP,HTML:自动提交表单[关闭]

PHP表单未显示[关闭]

HTML/PHP 表单提交(之后要做啥)[关闭]

用 PHP 填写 PDF 表单 [关闭]