亚洲精品中文字幕无乱码_久久亚洲精品无码AV大片_最新国产免费Av网址_国产精品3级片

php語(yǔ)言

php語(yǔ)言能用框架嗎

時(shí)間:2024-09-05 21:47:14 php語(yǔ)言 我要投稿
  • 相關(guān)推薦

php語(yǔ)言能用框架嗎

  JAVAScript 有框架可以用,那么PHP呢,需不需要框架?如果需要那么PHP的開發(fā)語(yǔ)言用的什么框架結(jié)構(gòu)用的是MVC嗎?testlink開源系統(tǒng)用過(guò)嗎?帶著以上問(wèn)題一起來(lái)看看吧!

  RAILS的確可能會(huì)有很好的前景。但他只能是IT技術(shù)進(jìn)一步普及和低端化的產(chǎn)物。任何一種行業(yè)都會(huì)由稀缺到普及,由高端到低端。由于ROR為效率而屏蔽了底層,所以ROR只能做個(gè)低端的角色

  javascrīpt是基于對(duì)象面向過(guò)程的語(yǔ)言典型。它在設(shè)計(jì)時(shí)甚至沒(méi)有引入Class,今天很多使用者如果一定要用類,只能以函數(shù)模擬。在JAVA下,一切都要以一個(gè)Class開始,在Class里實(shí)現(xiàn);而在JS下,壓根就沒(méi)有類,可以說(shuō)它是強(qiáng)制面向過(guò)程的。基于對(duì)象(Object-Based)與面向?qū)ο?Object Oriented Programming)是兩個(gè)概念。初學(xué)者不要一看到對(duì)象就說(shuō)這個(gè)語(yǔ)言很OO,或者一看使用對(duì)象不多就認(rèn)為這個(gè)語(yǔ)言不夠現(xiàn)代。

  OO就是系統(tǒng)化、模型化,是到目前為止最復(fù)雜和最高級(jí)的手段,對(duì)MVC三者的任意一個(gè)都可以O(shè)O。MVC的目的是分離。分離的目的是減少重復(fù)。找不到重復(fù)是因?yàn)榉蛛x得不到位或不合理。所以如何分離是開發(fā)設(shè)計(jì)的核心,也是開發(fā)方法的主要內(nèi)容。

  應(yīng)該放棄開發(fā)速度最重要的觀念。并不是說(shuō)開發(fā)速度不重要,而是因?yàn)榭删S護(hù)性(重構(gòu)性)才是真正重要的;可維護(hù)性低的開發(fā)方法其開發(fā)速度一定高不了。因?yàn)榻Y(jié)構(gòu)化越低開發(fā)起來(lái)就越復(fù)雜,反之結(jié)構(gòu)化越高開發(fā)就越簡(jiǎn)單。為什么web戰(zhàn)勝software,因?yàn)樗臄?shù)據(jù)存儲(chǔ)、頁(yè)引擎、瀏覽器的這樣一個(gè)架構(gòu)(當(dāng)然可以進(jìn)一步細(xì)分)取代了堆在一起的software,產(chǎn)生了強(qiáng)大的分離效應(yīng)?梢钥闯觯蛛x是減少重復(fù)提高生產(chǎn)率的要訣。

  OO是為了實(shí)現(xiàn)MODEL,MODEL是為了分離。如果問(wèn)題很簡(jiǎn)單就能解決,就不一定要MODEL,否則建模所帶來(lái)的生產(chǎn)成本就大于問(wèn)題本身。應(yīng)該只對(duì)較復(fù)雜的模塊通過(guò)OO建立MODEL。

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

  OOP是無(wú)需質(zhì)疑的一大成就,它是我們解決復(fù)雜的項(xiàng)目的手段。問(wèn)題越復(fù)雜,OO就越重要。但是當(dāng)WEB取代軟件時(shí),本身提供了一種分離架構(gòu),而且分離之后的內(nèi)容又是頁(yè)式的(一次只需要處理一頁(yè))。這也就是為什么web會(huì)戰(zhàn)勝軟件。問(wèn)題復(fù)雜程度降低了,多余的方法成本也應(yīng)該降下來(lái)。去距離不遠(yuǎn)的超市應(yīng)該騎自行車而不應(yīng)該乘坐出租車,否則等車的時(shí)間就不能忽略。function能分離開就不要用class,class修改維護(hù)起來(lái)比f(wàn)unction復(fù)雜。

  請(qǐng)記。涸谡麄(gè)計(jì)算機(jī)開發(fā)方法學(xué)中,減少重復(fù)是最終目的,分離則是達(dá)到此目的的途徑。這就是效率的本質(zhì)。

  應(yīng)該說(shuō)PHP一直處于發(fā)展之中,它是從適合小項(xiàng)目發(fā)展向適合大項(xiàng)目的。對(duì)于php程序中SQL語(yǔ)句的分離,將來(lái)也應(yīng)該像其他數(shù)據(jù)庫(kù)那樣使用存儲(chǔ)過(guò)程。所以,選擇PHP就不要和別的語(yǔ)言比大型。PHP的重要就在于它適合Web開發(fā)。

  關(guān)于框架,可參見關(guān)于三種主流WEB架構(gòu)的思考,目前的PHP框架如:

  Zend Platform

  fleaphp

  FCS

  CakePHP

  都是模仿ROR。

  Ruby on Rails是面向?qū)ο?OOP)和基于模型-視圖-控制器 (MVC) 的典范。它能起到很高的分離作用。Ruby on Rails震驚了編程界。主要是震驚了JAVA界,他們發(fā)現(xiàn)作為集OOP之大成的圣殿語(yǔ)言面對(duì)ROR的效率難以企及。原因就在于分離是根本,而OO不是。

  RAILS的確可能會(huì)有很好的前景。但他只能是IT技術(shù)進(jìn)一步普及和低端化的產(chǎn)物。任何一種行業(yè)都會(huì)由稀缺到普及,由高端到低端。由于ROR為效率而屏蔽了底層,所以ROR只能做個(gè)低端的角色。如果你開發(fā)一個(gè)站點(diǎn),規(guī)模逐漸增大,訪問(wèn)量逐漸增高,當(dāng)CMS變成MIS,相對(duì)于使用了Smarty的PHP,rails的優(yōu)勢(shì)只有active record,但是數(shù)據(jù)庫(kù)結(jié)構(gòu)和數(shù)據(jù)庫(kù)操作是性能瓶頸,是最需要設(shè)計(jì)的環(huán)節(jié)。ROR這個(gè)半成品就成了窠臼,項(xiàng)目后期它會(huì)讓你嘗足苦頭。

  所以ROR只適合小項(xiàng)目。但是相對(duì)于直接開發(fā),框架是有成本的。小項(xiàng)目是否需要這么高的方法成本(學(xué)習(xí)框架,維護(hù)框架)。對(duì)于CMS,ROR出現(xiàn)得晚了些,很多CMS都成了現(xiàn)成的Web服務(wù)了。

  Web開發(fā)長(zhǎng)期以來(lái)缺乏一種項(xiàng)目規(guī)范。PHP亦如此,每個(gè)人的項(xiàng)目其結(jié)構(gòu)都不一樣。這與JAVA區(qū)別明顯。Rails框架解決了這個(gè)問(wèn)題?傊S著硬件的不斷發(fā)展,性能和穩(wěn)定性等對(duì)于小型網(wǎng)站越來(lái)越不成瓶頸問(wèn)題,所以ROR會(huì)越來(lái)越多,但這是個(gè)緩慢過(guò)程,其對(duì)應(yīng)的網(wǎng)站也會(huì)越來(lái)越低端。

  【拓展閱讀】

  如何領(lǐng)用PHP框架語(yǔ)言來(lái)做手機(jī)APP開發(fā)?

  隨著互聯(lián)網(wǎng)的快速發(fā)展,手機(jī)APP開發(fā)深受企業(yè)的歡迎,那么手機(jī)APP開發(fā)的移動(dòng)后臺(tái)都是用什么語(yǔ)言來(lái)開發(fā)的呢,這也是很多人所關(guān)注的焦點(diǎn),而現(xiàn)在的移動(dòng)后臺(tái)開發(fā)語(yǔ)言有很多,分別是:PHP、Java等等,那么你們想知道如何龍PHP框架語(yǔ)言做手機(jī)APP開發(fā)?

  利用PHP框架做手機(jī)APP開發(fā)需要考慮兩種可能:

  第一:如果需要即時(shí)通訊,也就是需要手機(jī)客戶端與服務(wù)端保持TCP長(zhǎng)連接,服務(wù)端需要向客戶端推送數(shù)據(jù)的時(shí)候可以隨時(shí)通過(guò)這個(gè)長(zhǎng)連接發(fā)送數(shù)據(jù)給客戶端,這樣便能做到客戶端與服務(wù)端及時(shí)通訊甚至客戶端與客戶端及時(shí)通訊。做到這需要PHP能維持很多客戶端連接,并且需要多進(jìn)程支持,支持自己的通訊協(xié)議。這樣的應(yīng)用傳統(tǒng)的nginx+php-fpm + 傳統(tǒng)的php框架是做不到的。如果是長(zhǎng)連接即時(shí)通訊類的服務(wù)器框架推薦一看下workerman,它是就是一個(gè)php的socket服務(wù)器框架,非常適合做手機(jī)后臺(tái)服務(wù)器框架。

  第二:如果不需要即時(shí)通訊的話,可以考慮直接走h(yuǎn)ttp協(xié)議,用nginx+php-fpm搭建一個(gè)webserver就好了,php框架可以采用thinkphp、yii等等,客戶端需要與服務(wù)器通訊的時(shí)候向服務(wù)端get/post一個(gè)請(qǐng)求就好。

  如果是比較簡(jiǎn)單的手機(jī)APP,例如新聞客戶端這樣的不會(huì)涉及到長(zhǎng)連接的服務(wù),那么可以考慮直接使用http協(xié)議。因?yàn)樵搮f(xié)議幾乎被所有可以上網(wǎng)的設(shè)備支持,手機(jī)客戶端那邊也有大量相關(guān)的庫(kù)可以調(diào)用,省掉不少麻煩,其實(shí)確定了這三個(gè):協(xié)議(HTTP)、數(shù)據(jù)表示方法(JSON)、請(qǐng)求數(shù)據(jù)的方法(REST)之后,基本上就可以開發(fā)一個(gè)簡(jiǎn)單地服務(wù)端接口了(業(yè)務(wù)邏輯得自己琢磨),再加上手機(jī)客戶端那邊配套的設(shè)置搭起來(lái),那么就可以了。

  綜上所述,大家現(xiàn)在知道如何利用PHP框架來(lái)做手機(jī)APP開發(fā),利用PHP框架在做手機(jī)APP開發(fā)的時(shí)候,也是要根據(jù)企業(yè)的要求來(lái)做,是要考慮很多方面的因素。

【php語(yǔ)言能用框架嗎】相關(guān)文章:

PHP是最好的語(yǔ)言嗎08-08

學(xué)習(xí)php語(yǔ)言難嗎09-11

PHP框架是什么09-23

怎么在yaf框架增加php擴(kuò)展框架07-24

重新認(rèn)識(shí)PHP框架08-27

PHP MVC框架路由學(xué)習(xí)筆記07-02

現(xiàn)在學(xué)習(xí)PHP語(yǔ)言容易就業(yè)嗎06-18

php語(yǔ)言簡(jiǎn)介08-25

php語(yǔ)言的優(yōu)勢(shì)09-06

PHP語(yǔ)言的簡(jiǎn)介09-23