## 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開發帶入一個新的世紀。
- 簡介
- 環境要求
- 安裝系統
- 目錄結構
- 常見問題
- 基礎知識
- 編輯器
- 前端規范
- 前端框架文檔
- Builder教程
- Builder的來歷
- ListBuilder使用
- setMetaTitle
- addTopButton
- setSearch
- addSearchItem
- setTabNav
- addTableColumn
- setTableDataList
- setTableDataListKey
- setTableDataPage
- addRightButton
- alterTableData
- setExtraHtml
- setTemplate
- FormBuilder使用
- setMetaTitle
- setTabNav
- setExtraItems
- setPostUrl
- addFormItem
- setFormData
- setExtraHtml
- setAjaxSubmit
- setTemplate
- 擴展FormBuilder
- 模塊開發
- 創建模塊
- 描述文件
- 模型( M )
- 模版( V )
- 控制器( C )
- API接口
- 核心模塊
- 文件上傳
- 微信小程序模塊
- 注冊登陸接口
- 錢包模塊
- 統一支付
- Cms模塊
- 幻燈片接口
- 文檔列表接口
- 文檔詳情接口
- 發表評論接口
- 評論列表接口
- 收藏的文檔接口
- 收藏接口
- 分類列表接口
- IM模塊
- 發送消息接口
- 最近聊天列表接口
- 查詢新消息接口
- 插件相關
- 短信插件
- 支付插件
- 支付寶支付
- 微信支付
- 站群模塊
- 模板開發
- 準備工作
- 目錄結構
- 數據調用
- 專題
- 插件開發
- 圖片顯示
- 獲取用戶信息
- 判斷用戶登陸
- 表單提交AjaX
- 文件上傳
- 2.0兼容寫法
- 模板標簽
- 核心模塊
- Cms模塊
- 欄目分類調用
- Cordova
- 配置跨域支持
- 本地開發調試教程
- 打包成apk和ipa
- 自定義APP信息
- 常見問題
- 申請Apple開發者賬戶
- 多主題開發
- 新建主題
- 目錄結構
- 模板變量
- 定制安裝部署