程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> PHP綜合 >> PHP Web服務的價值

PHP Web服務的價值

編輯:PHP綜合

據我所知,Web服務是最酷的技術,但它最終會讓大家覺得沉悶。不知道您感覺如何,每當我參加討論web服務的演講時,總是聽到很多縮寫,如REST、XML/RPC、SOAP和RSS。然後就開始打盹,夢到有個地方樹上長滿Krispy Kreme甜面卷。醒來時,我認識到實際上我做了很多web服務工作,並沒完全用到那些毫無意義的標准程序。我看待web服務的方式非常簡單,它就是web應用程序的備用接口,允許其他程序以編程語言可以理解的方式與我的應用程序通信。人們通過HTML與應用程序通信,應用程序通過XML、CSV或其他標准與我的應用程序通信。

圖1能更好地解釋這個理論:

圖1. 傳統的web應用程序與面向服務的架構(SOA)

左側為傳統的web應用程序。服務器通過HTML與web客戶端通信。該服務器可以是任何技術:Java、.NET、Rails、PHP、Python或ColdFusion。右側為相同的web應用程序。但是它除了提供HTML,還使用XML通信,因此可以與其他應用程序或RSS閱讀器之類的專用服務器交流。

我經常聽到人們談論完全基於服務的應用服務器。這對於後端技術來說可能不錯。但是對於普通的web應用程序,您總是希望它同時支持HTML和XML接口。擁有兩種接口的一項好處在於,它強制您將業務邏輯集中到一個位置(可能是一個“中間層”),因此HTML和XML接口都可以與數據庫通信並獲得相同的結果。

允許web應用程序通過XML與其他程序通信的價值對您來說可能顯而易見,但是對我來說並非如此,至少最初是這樣。因此本文講述一個示例,演示通過在應用程序中設置XML接口可以實現哪些功能。首先講述簡單的HTML前端,然後顯示如何構建XML接口並添加各種閱讀器(包括Ajax、RSS和Adobe Flex)。

文章應用程序

首先講述的測試應用程序是數據庫中有一個文章列表的程序。清單1顯示了這個數據庫。

清單 1. articles.sql

DROP TABLE IF EXISTS articles;
CREATE TABLE articles (
id INTEGER NOT NULL AUTO_INCREMENT,
title VARCHAR(255),
author VARCHAR(255),
description TEXT,
PRIMARY KEY( id ) );
INSERT INTO articles VALUES ( null,
'What I like about dogs', 'Megan Herrington',
'Everything that I love about dogs I learned in preschool' );
INSERT INTO articles VALUES ( null,
'Making action movies', 'Jack Herrington',
'How to script, produce and direct Hong Kong action flicks' );
INSERT INTO articles VALUES ( null,
'Super Paper Mario Tips', 'Lori Herrington',
'Everything you need to know to win at Paper Mario' );
INSERT INTO articles VALUES ( null,
'Why I bark', 'Oso Herrington',
'' );

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved