當前位置:才華齋>計算機>php語言>

php語言可以用框架嗎

php語言 閱讀(2.13W)

JAVAScript 有框架可以用,那麼PHP呢,需不需要框架?如果需要那麼PHP的開發語言用的什麼框架結構用的是MVC嗎?testlink開源系統用過嗎?帶著以上問題一起來看看吧!

php語言可以用框架嗎

RAILS的確可能會有很好的前景。但他只能是IT技術進一步普及和低端化的產物。任何一種行業都會由稀缺到普及,由高階到低端。由於ROR為效率而遮蔽了底層,所以ROR只能做個低端的角色

javascrīpt是基於物件面向過程的語言典型。它在設計時甚至沒有引入Class,今天很多使用者如果一定要用類,只能以函式模擬。在JAVA下,一切都要以一個Class開始,在Class裡實現;而在JS下,壓根就沒有類,可以說它是強制面向過程的。基於物件(Object-Based)與面向物件(Object Oriented Programming)是兩個概念。初學者不要一看到物件就說這個語言很OO,或者一看使用物件不多就認為這個語言不夠現代。

OO就是系統化、模型化,是到目前為止最複雜和最高階的手段,對MVC三者的任意一個都可以OO。MVC的目的是分離。分離的目的是減少重複。找不到重複是因為分離得不到位或不合理。所以如何分離是開發設計的核心,也是開發方法的主要內容。

應該放棄開發速度最重要的觀念。並不是說開發速度不重要,而是因為可維護性(重構性)才是真正重要的';可維護性低的開發方法其開發速度一定高不了。因為結構化越低開發起來就越複雜,反之結構化越高開發就越簡單。為什麼web戰勝software,因為它的資料儲存、頁引擎、瀏覽器的這樣一個架構(當然可以進一步細分)取代了堆在一起的software,產生了強大的分離效應。可以看出,分離是減少重複提高生產率的要訣。

OO是為了實現MODEL,MODEL是為了分離。如果問題很簡單就能解決,就不一定要MODEL,否則建模所帶來的生產成本就大於問題本身。應該只對較複雜的模組通過OO建立MODEL。

換言之OO只是手段,分離不一定要OO,甚至不需要MODEL。只要能做到分離。

OOP是無需質疑的一大成就,它是我們解決複雜的專案的手段。問題越複雜,OO就越重要。但是當WEB取代軟體時,本身提供了一種分離架構,而且分離之後的內容又是頁式的(一次只需要處理一頁)。這也就是為什麼web會戰勝軟體。問題複雜程度降低了,多餘的方法成本也應該降下來。去距離不遠的超市應該騎自行車而不應該乘坐計程車,否則等車的時間就不能忽略。function能分離開就不要用class,class修改維護起來比function複雜。

請記住:在整個計算機開發方法學中,減少重複是最終目的,分離則是達到此目的的途徑。這就是效率的本質。

應該說PHP一直處於發展之中,它是從適合小專案發展向適合大專案的。對於php程式中SQL語句的分離,將來也應該像其他資料庫那樣使用儲存過程。所以,選擇PHP就不要和別的語言比大型。PHP的重要就在於它適合Web開發。

關於框架,可參見關於三種主流WEB架構的思考,目前的PHP框架如:

Zend Platform

fleaphp

FCS

CakePHP

都是模仿ROR。

Ruby on Rails是面向物件(OOP)和基於模型-檢視-控制器 (MVC) 的典範。它能起到很高的分離作用。Ruby on Rails震驚了程式設計界。主要是震驚了JAVA界,他們發現作為集OOP之大成的聖殿語言面對ROR的效率難以企及。原因就在於分離是根本,而OO不是。

RAILS的確可能會有很好的前景。但他只能是IT技術進一步普及和低端化的產物。任何一種行業都會由稀缺到普及,由高階到低端。由於ROR為效率而遮蔽了底層,所以ROR只能做個低端的角色。如果你開發一個站點,規模逐漸增大,訪問量逐漸增高,當CMS變成MIS,相對於使用了Smarty的PHP,rails的優勢只有active record,但是資料庫結構和資料庫操作是效能瓶頸,是最需要設計的環節。ROR這個半成品就成了窠臼,專案後期它會讓你嘗足苦頭。

所以ROR只適合小專案。但是相對於直接開發,框架是有成本的。小專案是否需要這麼高的方法成本(學習框架,維護框架)。對於CMS,ROR出現得晚了些,很多CMS都成了現成的Web服務了。

Web開發長期以來缺乏一種專案規範。PHP亦如此,每個人的專案其結構都不一樣。這與JAVA區別明顯。Rails框架解決了這個問題。總之,隨著硬體的不斷髮展,效能和穩定性等對於小型網站越來越不成瓶頸問題,所以ROR會越來越多,但這是個緩慢過程,其對應的網站也會越來越低端。

 【拓展閱讀】

  如何領用PHP框架語言來做手機APP開發?

隨著網際網路的快速發展,手機APP開發深受企業的歡迎,那麼手機APP開發的移動後臺都是用什麼語言來開發的呢,這也是很多人所關注的焦點,而現在的移動後臺開發語言有很多,分別是:PHP、Java等等,那麼你們想知道如何龍PHP框架語言做手機APP開發?

利用PHP框架做手機APP開發需要考慮兩種可能:

第一:如果需要即時通訊,也就是需要手機客戶端與服務端保持TCP長連線,服務端需要向客戶端推送資料的時候可以隨時通過這個長連線傳送資料給客戶端,這樣便能做到客戶端與服務端及時通訊甚至客戶端與客戶端及時通訊。做到這需要PHP能維持很多客戶端連線,並且需要多程序支援,支援自己的通訊協議。這樣的應用傳統的nginx+php-fpm + 傳統的php框架是做不到的。如果是長連線即時通訊類的伺服器框架推薦一看下workerman,它是就是一個php的socket伺服器框架,非常適合做手機後臺伺服器框架。

第二:如果不需要即時通訊的話,可以考慮直接走http協議,用nginx+php-fpm搭建一個webserver就好了,php框架可以採用thinkphp、yii等等,客戶端需要與伺服器通訊的時候向服務端get/post一個請求就好。

如果是比較簡單的手機APP,例如新聞客戶端這樣的不會涉及到長連線的服務,那麼可以考慮直接使用http協議。因為該協議幾乎被所有可以上網的裝置支援,手機客戶端那邊也有大量相關的庫可以呼叫,省掉不少麻煩,其實確定了這三個:協議(HTTP)、資料表示方法(JSON)、請求資料的方法(REST)之後,基本上就可以開發一個簡單地服務端介面了(業務邏輯得自己琢磨),再加上手機客戶端那邊配套的設定搭起來,那麼就可以了。

綜上所述,大家現在知道如何利用PHP框架來做手機APP開發,利用PHP框架在做手機APP開發的時候,也是要根據企業的要求來做,是要考慮很多方面的因素。