多应用+插件架构,代码干净,二开方便,首家独创一键云编译技术,文档视频完善,免费商用码云13.8K 广告
## Builder的来历 > 事实上Builder首次出现在ThinkPHP的核心代码里,不过TP的Builder只是提供一个模块默认目录规范自动生成的功能,在产品逻辑上的应用并没有得到体现,后来TP官方开发了众所周知OneThink,OT里虽然没有提到Builder的字眼,但是其文档模型里的think.html确可以算是早期的FormBuilder原型了。 长久以来,以织梦CMS、帝国CMS为代表的一系列老牌CMS在模板标签的使用上可以说是炉火纯青,模板标签的出现让前端开发页面变得十分轻松,然而后端开发人员却一直没有优秀的开发模式帮助后端人员从前端页面中解脱出来,而Builder的出现就是为了解决这个问题。 从测试版本发布以来,我们一直在探索如何封装后台的页面生成以解放后端开发人员的生产力。 在传统的MVC分层设计中,开发者需要写MVC三层逻辑代码,而在ThinkPHP的开发中,M层实际上是可以不写的。不写的原因是ThinkPHP分封装了数据层,ORM模式简化了数据库操作,没有数据模型也很方便。 那么剩下的C层和V层中,我们通过研究发现在后台开发时,V层是一项非常费时费力却又包含重复劳动的开发, 再后来,CoreThink在1.0正式版本中终于推出自己Builder,并且用Builder重写了后台的全部页面(除了个别特殊页面)。我们认为程序的后台在早期对页面复杂度的要求停留在两个核心关键:表单+列表。所以我们抽象出了对应的Builder分别为FormBuilder、Listbuilder。 简单来讲FormBuilder用来帮助后端开发自动生成表单页面,比如发布文章、编辑文章;而Listbuilder则用来帮助后端人员自动生成列表页面,比如用户列表、文章列表。可以说,Builder的出现必将WEB开发带入一个新的世纪。