php不使用模版,怎麼實現前端和後端人員的協作開發?

來源:互聯網
上載者:User
如題:
模版的初衷是:代碼與頁面的分離。但實際開發過程中, 模版檔案頁面元素要嵌入大量的變數,以及同時處理if/else、for each等處理邏輯,比如smarty模版。
對於這種模版檔案,模版語言和html語言混合在一起,結構混亂、邏輯與布局混雜,既不利於編輯製作,也不利於調試排錯。同時還要增加前端人員的學習壓力(例如要學習smarty)。

理想的模式下,前端只負責展示和互動(html/css/js),後端只負責提供資料(php)。

怎麼實現這種理想模式?

回複內容:

如題:
模版的初衷是:代碼與頁面的分離。但實際開發過程中, 模版檔案頁面元素要嵌入大量的變數,以及同時處理if/else、for each等處理邏輯,比如smarty模版。
對於這種模版檔案,模版語言和html語言混合在一起,結構混亂、邏輯與布局混雜,既不利於編輯製作,也不利於調試排錯。同時還要增加前端人員的學習壓力(例如要學習smarty)。

理想的模式下,前端只負責展示和互動(html/css/js),後端只負責提供資料(php)。

怎麼實現這種理想模式?

今天剛看到一個地方說,可以使用JQuery,前端所有資料通過JQuery的Ajax進行擷取資料,以及進行前後端資料的互動。

後端輸出json,前端處理資料

用這個模式寫過一些東西,希望有協助

部落格 http://i.mouto.org/
部落格 http://mouto.org/

討論版 http://za2.org/

電台 http://itorr.sinaapp.com/fm/
電台 http://moe.re/fm

個人吐槽記錄 http://x.mouto.org/

照片社區 http://dev.vscam.co/

2015-2-20: ......這麼多從這裡來路的訪問為什麼不慷慨下滑鼠給個贊!!!!!!! T_T

樓上正解,後台使用json傳送資料 前端使用ajax接收。

  • 使用JSON
  • noBackend

我先談談我的觀點。

PHP最開始最初的嵌入HTML中, 後來模板盛行(如Smarty), 再到後來的又拋棄模板(使用用輸出)或輕量級模板(如Laravel的Blade模板引擎)。但前後台代碼始終沒有做到完全分離。作為Web開發的神級架構MVC, 有的時候讓人搞不清楚業務代碼究竟應該寫在哪, 所謂的視圖就是套著php鎖鏈的HTML, 而Model大多數是一個繼承於ORM的子類。這樣的模式, 後端開發人員仍要處理HTML代碼。就算是一個人在寫前後端, 也要不斷的切換思維,徘徊於商務邏輯和View之間, 實在是很痛苦。

單純的後端只輸出JSON, 前端處理JSON並顯示, 確實可以做到前後端的分離。但是沒有條條框框束縛的開發模式,工程很容易隨著工程量的增加或代碼的不規範而陷入泥沼。

我現在十分推崇純粹REST後端 + AngularJS(REST)前端的架構。純粹REST後端, 完全拋棄的View,並且可以憑藉單一後端支援主流的應用情境: App, 瀏覽器, Web API,最主要的是有那麼一套規範或標準實現去約束你,後端人員只需考慮如何更rest,更好的寫便於使用的API就好了。而AngularJS從REST後端手中接過大棒,可以輕易的實現一個很優雅的前端架構。

再輔以node.js,單元測試,coffee, sass之流 .... 想不爽都難

模板的實質是 placeholder。你連 placeholder 都不寫,計算機怎麼知道什麼是可變的什麼不可變?結果至多是把模板邏輯挪到代碼裡,然後代碼高度依賴 html 結構。。。回到石器時代。。。模板從有 if-else 開始就跑偏了,越來越想媲美一個通用語言,越來越複雜。

或者把模板啥的一股腦推給前端,後端只做 API,但這樣只是責任轉移了,前端依舊不能專心負責展示和互動。

其實後端應該分兩類,一類負責核心應用,一類負責模板
HTML CSS 依舊叫前端負責

前後端的分法本來就有些欠缺,缺少一個中間層。

只有這樣,才有可能做到:

前端只負責展示和互動(html/css/js),後端只負責提供資料(php)。

因爲前後端銜接的任務交給中間層了~

  • 聯繫我們

    該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

    如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.