目次
回复内容:
ホームページ バックエンド開発 PHPチュートリアル php不使用模版,怎么实现前端和后端人员的协作开发?

php不使用模版,怎么实现前端和后端人员的协作开发?

Jun 06, 2016 pm 08:41 PM
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)。

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

このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。

ホットAIツール

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

脱衣画像を無料で

Clothoff.io

Clothoff.io

AI衣類リムーバー

AI Hentai Generator

AI Hentai Generator

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

ホットツール

メモ帳++7.3.1

メモ帳++7.3.1

使いやすく無料のコードエディター

SublimeText3 中国語版

SublimeText3 中国語版

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

ゼンドスタジオ 13.0.1

ゼンドスタジオ 13.0.1

強力な PHP 統合開発環境

ドリームウィーバー CS6

ドリームウィーバー CS6

ビジュアル Web 開発ツール

SublimeText3 Mac版

SublimeText3 Mac版

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

CakePHP プロジェクトの構成 CakePHP プロジェクトの構成 Sep 10, 2024 pm 05:25 PM

この章では、CakePHP の環境変数、一般設定、データベース設定、電子メール設定について理解します。

Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Ubuntu および Debian 用の PHP 8.4 インストールおよびアップグレード ガイド Dec 24, 2024 pm 04:42 PM

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

CakePHP の日付と時刻 CakePHP の日付と時刻 Sep 10, 2024 pm 05:27 PM

Cakephp4 で日付と時刻を操作するには、利用可能な FrozenTime クラスを利用します。

CakePHP データベースの操作 CakePHP データベースの操作 Sep 10, 2024 pm 05:25 PM

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

CakePHP ファイルのアップロード CakePHP ファイルのアップロード Sep 10, 2024 pm 05:27 PM

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

CakePHP について話し合う CakePHP について話し合う Sep 10, 2024 pm 05:28 PM

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

CakePHP ルーティング CakePHP ルーティング Sep 10, 2024 pm 05:25 PM

この章では、ルーティングに関連する次のトピックを学習します。

CakePHP バリデータの作成 CakePHP バリデータの作成 Sep 10, 2024 pm 05:26 PM

Validator は、コントローラーに次の 2 行を追加することで作成できます。

See all articles