php不使用模版,怎么实现前端和后端人员的协作开发?
如题:
模版的初衷是:代码与页面的分离。但实际开发过程中, 模版文件页面元素要嵌入大量的变量,以及同时处理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)。
因爲前後端銜接的任務交給中間層了~

ホットAIツール

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Undress AI Tool
脱衣画像を無料で

Clothoff.io
AI衣類リムーバー

AI Hentai Generator
AIヘンタイを無料で生成します。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

ホットトピック

PHP 8.4 では、いくつかの新機能、セキュリティの改善、パフォーマンスの改善が行われ、かなりの量の機能の非推奨と削除が行われています。 このガイドでは、Ubuntu、Debian、またはその派生版に PHP 8.4 をインストールする方法、または PHP 8.4 にアップグレードする方法について説明します。

CakePHP でデータベースを操作するのは非常に簡単です。この章では、CRUD (作成、読み取り、更新、削除) 操作について理解します。

ファイルのアップロードを行うには、フォーム ヘルパーを使用します。ここではファイルアップロードの例を示します。

CakePHP は、PHP 用のオープンソース フレームワークです。これは、アプリケーションの開発、展開、保守をより簡単にすることを目的としています。 CakePHP は、強力かつ理解しやすい MVC のようなアーキテクチャに基づいています。モデル、ビュー、コントローラー
