用于表单密集型应用程序的PHP框架

用于表单密集型应用程序的PHP框架,php,forms,frameworks,Php,Forms,Frameworks,我正在为正在从Access迁移到php的应用程序寻找一个简单易学的php框架。应用程序有很多表单(有时每页有50多个字段),并且很多字段是相互依赖的(即,您更改一个字段,它会更新一些其他字段或选项) 有没有什么好的php框架?我希望它非常简单,因为: 开发人员没有那么丰富的经验 DB是从Access迁移而来的,在设计时没有考虑OOP,它基本上是一个按功能划分的表集合,所以我可能不需要任何ORM(至少目前不需要) 最重要的是表单设计和字段关联的简易性(例如:两个列表框,其中第二个列表框的值取决

我正在为正在从Access迁移到php的应用程序寻找一个简单易学的php框架。应用程序有很多表单(有时每页有50多个字段),并且很多字段是相互依赖的(即,您更改一个字段,它会更新一些其他字段或选项)

有没有什么好的php框架?我希望它非常简单,因为:

  • 开发人员没有那么丰富的经验
  • DB是从Access迁移而来的,在设计时没有考虑OOP,它基本上是一个按功能划分的表集合,所以我可能不需要任何ORM(至少目前不需要)
最重要的是表单设计和字段关联的简易性(例如:两个列表框,其中第二个列表框的值取决于第一个列表框的选定值)——我知道大多数ajax LIB对此都有一些支持,但我希望它是开箱即用的


编辑:作为澄清,最重要的不是ajax漂亮的东西,尽管它很重要。重要的是创建基于db的表单的简单方法。db的设计并没有考虑ORM,所以我不需要在ORM层上使用层叠删除等奇特的表关联。如果ORM层不妨碍实现并简化实现,那么就可以了,但我怀疑这是真的。

特别是

它是企业级的,有优秀的初学者到高级教程以及“官方”培训课程,而且是免费的

您可能还想看看有一些关于表单的非常好的文档,可以为您处理很多复杂的问题

此处记录了表单验证类:

还有一个表单帮助器类,它使得创建表单非常容易

这当然比从头开始构建web应用程序更容易



(来源:)

我刚刚使用codeIgniter完成了一个类似但简单得多的应用程序,它有一个非常好的

代码示例:

form_hidden('userName', 'johndoe');
// Would produce: <input type="hidden" name="username" value="johndoe" />

form_input('username', @$_POST['userName'])
// Would produce an input populated with a variable  from the post array

虽然我肯定会在优秀且简单易学的课程背后添加我的支持,但我担心到目前为止,每个人都在这个问题上忽略了这一点

老实说,我不认为任何框架都会让没有太多经验的开发人员更容易或更简单地组装一个每页有50多个表单的应用程序。特别是增加了对ajax支持下拉依赖项的要求


话虽如此,如果你想要权力和灵活性,我会选择Zend。如果你想要简洁,我会选择CodeIgniter。

我是symfony的忠实粉丝,它通过表单助手对表单提供了很好的支持。查看文档中的表格:


毫无疑问,最好的是:提供服务器端和客户端验证(客户端验证使用jQuery 1.5.2+完成),并且有许多预定义的规则可以直接使用;可以轻松添加自定义验证规则(包括基于AJAX的);集成了跨站点脚本(XSS)预防机制,可自动从提交的数据中去除潜在的恶意代码,还具有防止跨站点请求伪造(CSRF)攻击的功能;它通过使用蜜罐防止自动垃圾邮件发布,开箱即用,无需依赖验证码;表单的布局可以自动生成,也可以使用模板手动生成;它容易学习,成熟,并且不断改进

哇,这个问题太过时了!无论如何,我也认为,但是在SF,2 +表单非常复杂(因此复杂),我不认为SyfFiy对于形式密集型应用程序是一个很好的选择,除非它的要求是非常具体的。认识到您需要什么是很重要的:如果是代码的重用(在本例中是表单),SF真的很好,他们的方法与JavaEE项目中采用的方法非常相似。但是如果你想快速得到结果,我会去别处看看,也许是Javascript框架


如果您想直接使用JavaScript,可以看看。

将通用框架放在一边,看看我推荐的以UI为中心的应用程序。在麻省理工学院的许可下,它相对较新(于2017年发布)。这就是为什么它是OP的好选择:

  • 专为那些不懂HTML/CSS的人设计
  • 创建表单只需要几行PHP代码
  • 使用数据库或不使用数据库(由您决定)
  • 处理各种类型,甚至通过扩展名上传文件
  • 与语义集成,完全响应
安装:可在或通过
composer require atk4/ui
下载ZIP

语法:

 <?php

 $app = new \atk4\ui\App();
 $app->initLayout('Centered');
 $form = $app->add('Form');

 $form->addField('name');
 $form->addField('date', null, ['type'=>'date']);

 $form->onSubmit(function($form){ 
    return 'Hello, '.$name;
});

如果有人能解释一下对一个完全无害(如果不是最惊人的话)的答案投反对票,那就太好了。牛仔!他实际上需要一个Javascript框架,这是一个还不存在的东西..嗯..一个web应用程序生成器,比如access,我的下一个创业公司,谁想加入?业务限制强加PHP有几个原因(目前不可协商)。@Itay如果你停下来仔细阅读我的问题,你会知道我正在迁移Access应用程序。没有启动。没有发电机。米格尔平:我也有类似的情况。你在表单密集型应用程序中使用的框架是什么?@Pies,lol,不,这意味着对于生产-严肃-商业-应用程序来说已经足够好了。似乎有兴趣你应该透露你对Zebra表单的兴趣。
 <?php

 $app = new \atk4\ui\App();
 $app->initLayout('Centered');
 $form = $app->add('Form');

 $form->addField('name');
 $form->addField('date', null, ['type'=>'date']);

 $form->onSubmit(function($form){ 
    return 'Hello, '.$name;
});