restful框架php
① php有哪些框架
PHP的框架有很多,這里說一部分供大家參考:
國內框架:ThinkPHP, Canphp, KYPHP, InitPHP, SpeedPHP, CdvPHP,KPHP。
國外著名框架:Zend Framework,Codelgniter,CakePHP,Symfony,Yii,Seagull,Laravel。
小型框架:E,DuoLamPHP,Difeye,GalaxixPhp,PhpPeanuts,Rong Framework,Openbiz Framework。
② 新手學習thinkphp6還是thinkphp5比較好
thinkphp5好
ThinkPHP5是一個全新的里程碑版本,包括路由、日誌、異常、模型、資料庫、模板引擎和驗證等模塊都已經重構,不適合原有3.2項目的升級,請慎重考慮商業項目升級,但絕對是新項目的首選(無論是WEB還是API開發),而且最好是忘記3.2版本的思維習慣,重新理解TP5。
③ 怎麼用PHP開發API供其他客戶端調用
一、介面的分類:
1、URL類型的介面
URL
路由帶參數式的介面!這個很好做!只要有過Web開發經驗的人都能完成!這種介面數據不夠隱蔽性,可以直接在瀏覽其中看到,如支付寶的交易請求URL。需
要加一個MD5簽名,和伺服器端的再次向支付寶伺服器發送驗證!雖然soap方式傳遞的數據隱蔽性很好!但為了數據安全,難免也需要進行數據簽名。
2、SOAP類型的介面
無關編程語言、無關平台、擴展性很好,要實現一個SOAP 型的介面,有兩種方式:一種有WSDL文件方式、一中無WSDL文件方式!
對
於熱愛研究型的人來說,使用第一種方式可以讓你清楚的了解PHP是怎麼創建了一個Web
Service!但第一種對於新手來說,創建一個XML格式的WSDL文件,是比較難的,這你的先了解熟悉什麼是XML!學會XML語法!但對於一個急於
解決問題的人來說!沒有這么多的時間去熟悉!所以這是件煩惱的事!
二、PHP環境設置
先配置下PHP的soap環境支持:
找到php.ini文件
;extension=php_soap.dll
刪除掉";" ,重啟apache伺服器
為了便於測試,需要關於wsdl緩存
方式1:
配置文件:php.ini 選項 soap.wsdl_cache_enabled 設置為0
方式2:
代碼頭添加:ini_set('soap.wsdl_cache_enabled', "0"); //關閉wsdl緩存
三、有WSDL文件方式創建
在
這里先介紹標準的webservice。 那麼如何創建wsdl呢?對於PHP來說這確實是件很不容易的事情,有人說用zend
studio創建很方便,這是一種方法。但對於那些不喜歡用zend studio的人來說,會覺得創建一個web service還要安裝zend
studio,太強人所難了。
在這里介紹一個簡單的方法,到網上下載SoapDiscovery.class.php類,裡面有個公用方法:getWSDL,這個方法末尾是用的 return,那麼,你修改一下這個方法:
//return sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL, $serviceWSDL, $messageWSDL, '</definitions>');
//生成wsdl文件,將上面的return注釋
$fso = fopen($this->class_name . ".wsdl" , "w");
fwrite($fso,
sprintf('%s%s%s%s%s%s', $headerWSDL, $portTypeWSDL, $bindingWSDL,
$serviceWSDL, $messageWSDL, '</definitions>'));
現在生成wsdl的類有了,SoapDiscovery.class.php(源碼在最末尾)。
再准備一個提供服務的Service.php類文件或者函數就可以創建wsdl了!
④ PHP框架的PHP框架TOP10
排名前 10 並且最受歡迎的 PHP 框架(排名不分先後)。
Laravel
這款可能是現在最受歡迎的 PHP 框架,Laravel 非常強大,而且很高雅,易於學習和使用。非常值得一試!
Flight
Flight 是一個快速,簡單,可擴展的微型 PHP 框架,允許用戶快速的構建 RESTful web 應用,同樣易於學習和使用,簡單但是很強大!
Yii
Yii 是個高性能的 PHP 框架,用來開發 Web 2.0 應用程序,Yii 擁有很豐富的特性: MVC,DAO/ActiveRecord ,I8N/L10N,緩存,身份認證,基於用戶角色的訪問控制,scaffolding和測試等等。
Medoo
Medoo 是最輕的 PHP 資料庫,只包括了一個10,9kb 的文件,一個很強大的適用於簡單的 web 小應用開發的微型框架。
PHPixie
這個框架源於 Kohana 框架,是我最喜歡的框架了:兼容 MVC,能快速掌握,強大,你也應該試一試!
CodeIgniter
雖然是個比較老的框架,也快被淘汰了,但是我還是很喜歡這個強大的 MVC 框架 CI,無數次在我的項目中使用它,從來也沒對它失去信心,依然是我不變的選擇!
Kohana
Kohana 是個開源的,面向對象的 MVC web 框架,是使用 PHP5 來構建的。這個框架是由一群志願者隊伍開發的,他們致力於迅速,安全和小。
Symfony
這個框架是在 2005 年創建,是個非常強大的 MVC 框架,在企業界是非常受歡迎的。Symfony 是收到眾多的 web 應用框架啟發的:Ruby on Rails,Django 和 Spring ,它可能是最完整的 PHP 框架了。
Pop PHP
很多 PHP 框架很漂亮也很復雜,Pop 的建立是考慮到所有經驗層次的,提供了一系列可管理的學習曲線給初學者熟悉 PHP 的基礎,同時又提供了健壯和強大的功能給有經驗的 PHP 開發者。大小小於 2MB。
Phalcon
Phalcon 是一個開源的,滿棧的 PHP 框架,使用 PHP 5 類似 C 擴展的語言來編寫的高性能框架。用戶不需要會用 C 語言,Phalcon 會提供 PHP 類。Phalcon 是鬆散耦合,用戶可以隨意使用組件來創建 web 應用。
⑤ 不明白php的restful,有什麼實際用處嗎
我理解你的問題應該是「把傳統的PHP Web介面改成符合RESTful風格的Web介面有什麼用處?」
其實,這里最好用「好處」這個詞來代替「用處」,因為傳統的Web介面實現方式同樣能夠實現業務需要(所以這不是一個必須的事情,需要自己根據業務需求綜合判斷是否需要採用),而改用「RESTful風格」會有一些額外的「好處」:
統一的風格能夠讓各方更加便利的進行交互,也帶來了更好的兼容性(這是一個所有遵循一定規范所帶來的共通的好處,就像大家都說普通話,交流起來多方便啊)
對資源的操作正好對應相應的HTTP動作(GET、POST、PUT、DELETE),而這些動作正好可以滿足我們對資源狀態進行操作的需要,也就是說想對資源狀態進行什麼樣的操作就選擇什麼樣的動作,而這些動作又是HTTP協議本身提供的,多麼和諧自然啊(就是題主的摘錄內容)
請求所造成的影響明確,或者說副作用明確,比如GET肯定是安全的,PUT和DELETE肯定是冪等得,POST肯定是不安全的(這里的肯定是建立在API設計完全遵循「RESTful風格」基礎上的)
良好的符合「RESTful風格」的URI設計,可以讓Web介面的功能和整體結構更加清晰,僅僅通過URI就能方便的推測出來介面是做什麼的,以及多個資源之間關聯性
利用HTTP內容協商(content negotiation)實現資源的多重表述,比如請求方可以把自己需要的格式放到頭信息的Accept欄位中表述(如Accept: text/json),這樣同樣一個URI就可以輸出多種格式而不再需要在URI裡面特別加上一個type=json的參數了
客戶端、代理伺服器等可以根據HTTP協議規范進行相應的額外處理,比如Cache
... 可能還有我沒總結到的好處(當然也會有一些不足~~)
⑥ php哪個框架適合做api
在所有輕量級框架中,我推薦 CodeIgniter。 美中不足就是,框架入門極其簡單。但是,如果實現 完全的、優雅的 restful,門檻就有點兒高了。CodeIgniter 實現 restful 時,和底層的 HTTP 協議有些脫節,這些可以通過擴展框架來實現,而且有時候需要結合伺服器去配置。
⑦ 什麼是 RESTful 到底 REST 和 SOAP,RPC 有何區別
第一個問題:什麼是RESTful?
REST這個詞,是Roy Thomas Fielding在他2000年的博士論文中提出的。有興趣可以看看這里論文`,誰是Fielding?點擊前面名字了解。
那RESTful到底是什麼呢?簡單的講,它是:一種架構設計風格,提供了設計原則和約束條件,而不是架構。而滿足這些約束條件和原則的應用程序或設計就是 RESTful架構或服務。
推薦閱讀:
張善友博客——REST 入門介紹
infoq——深入淺出REST
第二個問題:到底 REST 和 SOAP、RPC 有何區別?
這個問題比較大,要知道他們有什麼區別首先需要明白,他們分別是什麼?
REST上面已經簡單的說明了它是什麼。
SOAP(簡單對象訪問協議)是什麼?SOAP是一種數據交換協議規范,是一種輕量的、簡單的、基於XML的協議的規范。它有什麼優點?簡單總結為: 易用,靈活,跨語言,跨平台。
易用:是因為它的消息是基於xml並封裝成了符合http協議,因此,它符合任何路由器、 防火牆或代理伺服器的要求。
靈活:表現在極具拓展性,SOAP 無需中斷已有的應用程序, SOAP 客戶端、 伺服器和協議自身都能發展。而且SOAP 能極好地支持中間介質和層次化的體系結構。
跨語言:soap可以使用任何語言來完成,只要發送正確的soap請求即可。
跨平台:基於soap的服務可以在任何平台無需修改即可正常使用。
RPC(遠程調用框架) 是一種允許分布式應用程序調用網路上不同計算機的可用服務的機制。涉獵不多,一下省略256個字。有熟悉的朋友可以在評論補充,然後我會修改到該內容中去
從上面我們可以看出,REST 和 SOAP、RPC 有何區別呢?沒什麼太大區別,他們的本質都是提供可支持分布式的基礎服務,最大的區別在於他們各自的的特點所帶來的不同應用場景。
REST可以看著是http協議的一種直接應用,默認基於json作為傳輸格式,使用簡單,學習成本低效率高,~~但是安全性較低~~,而SOAP可以看著是一個重量級的協議,基於xml,SOAP在安全方面是通過使用XML-Security和XML-Signature兩個規范組成了WS-Security來實現安全控制的,當前已經得到了各個廠商的支持,.net ,php ,java 都已經對其有了很好的支持 。這是REST薄弱的地方。
⑧ 新人剛接觸 PHP,哪種框架比較容易上手
題主如果是一個剛接觸PHP的新人的話,可能會覺得框架很多,各個框架都有各自的特點,難以掌握,其實雖然每個框架的特點不一樣,但是框架的思路都是差不多的,如果你用熟了,就會覺得什麼框架都差不多。不過剛開始接觸這些的話,了解框架還是要有先後順序的。
總之你要在框架中,學習如何去使用它,一開始往往會覺得很難,但是熟練了之後你會發現原來的框架實際上是相同的,框架可以隨心所欲的使用也不是什麼難事,只要你不放棄的堅持學習就可以做到。