自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

亂評PHP框架難成大器的三大主因

開發(fā) 前端
PHP框架之路一直充滿著爭議,從PHP要不要用框架,到應(yīng)不應(yīng)該模仿Rails,卻抵不上PHP框架的井噴式的增長,各類框架你方唱罷我登場,網(wǎng)上僅僅是羅列部分框架和簡介就能成為一片文章,名為《國外十大最流行PHP框架排名》。

自從Rails刮起了一陣框架風(fēng),其它語言群起響應(yīng),Java,Python,Scala,PHP,無論靜態(tài)動態(tài)語言都出現(xiàn)了模仿Rails模式的框架出現(xiàn),其中,PHP語言的框架生產(chǎn)力更是***,主流的PHP框架就有超過5種,加上不出名的框架的話,我估計起碼有20多種框架,可怕的數(shù)量!!

PHP框架之路一直充滿著爭議,從PHP要不要用框架,到應(yīng)不應(yīng)該模仿Rails,卻抵不上PHP框架的井噴式的增長,各類框架你方唱罷我登場,網(wǎng)上僅僅是羅列部分框架和簡介就能成為一片文章,名為《國外十大***PHP框架排名》。PHP框架中比較知名的有:CodeIgniter、CakePHP等中小型框架和Zend、Symfony等大型框架。我一直在想為什么PHP的框架數(shù)量如此之多呢?

1. PHP開發(fā)框架太‘容易’了

不要罵我,說實話,PHP開發(fā)Web框架的門檻比起其他的語言,真的要低太多了,PHP本身已經(jīng)有了對Web的支持,要做一個框架,只要先寫一個單入口index.php,然后通過module和action參數(shù)執(zhí)行對應(yīng)的Controller類,和View代碼,一個非常簡單的框架就好了,熟練的程序員一兩天就完成了。如果覺得太簡單,再稍微封裝一下,把$_REQUEST,$_SESSION封裝一下,封裝一下數(shù)據(jù)庫操作等等。到這里一個有模有樣的PHP‘MVC框架’就基本出爐了。熟練一點程序員一周時間搞定了。

相反其他語言,以ruby為例,光是對REQUEST的處理,參數(shù)解析等基礎(chǔ)功能實現(xiàn),就遠(yuǎn)遠(yuǎn)不止一周的工作量,在加上ruby語言的高靈活性和復(fù)雜的語法,使他開發(fā)一款拿的出手的框架所需要的精力是大大的超越一般,開發(fā)框架的門檻低是PHP框架泛濫的因素之一。

2. PHP的封裝能力弱,致使框架的靈活度不夠

這也是事實,PHP的框架很多,但是一般要評估項目,來選擇適當(dāng)?shù)目蚣?,如果是一個簡單的web項目,一般選擇CodeIgniter、CakePHP這類框架,如果是大型的應(yīng)用,也會選擇Zend、Symfony等大型框架,因為你會發(fā)現(xiàn)使用Zend和CodeIgniter完全是兩回事。

也許我說的抽象了,那我舉個例子:在默認(rèn)的PHP環(huán)境中,是沒有AOP功能的,不能對類的已有方法進(jìn)行功能性增強,在需要實現(xiàn)類似功能的情況下,你就需要顯示的修改外面的代碼,非常流行的做法是利用PHP的魔法函數(shù),但是依然需要修改對象的創(chuàng)建方法。

依然對比Ruby,它幾乎是內(nèi)置了AOP支持,可以在完全外部調(diào)用完全不變的情況下完成功能的增強。

在框架的封裝中這種能力的差異就更加的顯著,在PHP中框架復(fù)雜度高也提高了使用者的難度,而不能像Ruby等完全將復(fù)雜性隱藏在框架的內(nèi)部。(說句題外話:javascript也是如此,jquery便是佐證)。

3. PHP的實現(xiàn)機制,使得框架的性能成為詬病

PHP的運行模式,每次request結(jié)束都會完全釋放所有資源,導(dǎo)致框架的加載成為了一個不可忽視的性能累贅,即使你不介意上面提到大型框架的使用復(fù)雜度高,這個原因也讓你不會在中小型項目中輕易使用Zend等大型框架。同時也限制了框架的能力。

據(jù)我分析,正是這三個原因,使得PHP的框架如此之多,但是沒有一個成為真正的主流。這種情況未必是好事,在Ruby中,Rails一統(tǒng),使得Rails社區(qū)***繁榮,很多Ruby高手開發(fā)各種插件增強的它的功能。使得它有著十分良性的發(fā)展。在js框架中jquery也有著相同的經(jīng)歷。

在PHP中,高手則是不停的貢獻(xiàn)它們的新框架,老實說我個人覺得幫助很有限,更是攪渾了這一缸水,其實很多框架完全可以合并為一個發(fā)展,與其出現(xiàn)100個60分的框架,不如出現(xiàn)一個100分的好框架。PHP框架,多的讓我傷不起啊傷不起。

原文鏈接:http://www.iteye.com/topic/1071177

【編輯推薦】

  1. 新里程碑到來 開啟PHP框架的新時代
  2. PHP框架發(fā)展存四誤區(qū) 死穴不除難成大器
  3. 基礎(chǔ)知識回顧:為什么要使用PHP框架?
  4. 幾款主流PHP框架的優(yōu)缺點評比
  5. 國外十大***PHP框架排名
責(zé)任編輯:陳貽新 來源: renzhen的博客
相關(guān)推薦

2010-12-21 09:08:02

PHP框架

2018-12-18 09:04:13

5G網(wǎng)絡(luò)人工智能

2018-12-06 13:29:31

網(wǎng)絡(luò)5G物聯(lián)網(wǎng)

2024-10-24 08:00:00

Web開發(fā)編程語言框架

2016-03-10 11:21:57

H5前端框架

2012-04-20 14:03:43

PHP知識

2011-10-10 09:08:07

編程語言排行榜

2011-05-03 12:04:03

2018-06-14 14:07:57

Pythonweb框架

2010-11-08 13:39:05

網(wǎng)宿科技B2C企業(yè)網(wǎng)站

2013-09-03 13:09:30

谷歌諾基亞微軟

2022-04-29 09:33:58

PHP框架Laravel

2009-05-13 09:11:44

Linux桌面OS

2011-07-05 17:45:07

PHP框架

2020-12-23 15:42:42

大數(shù)據(jù)大數(shù)據(jù)技術(shù)大數(shù)據(jù)框架

2011-07-05 18:01:18

2017-04-07 14:53:32

華為

2009-05-12 17:57:12

Linux操作系統(tǒng)桌面

2009-04-09 14:41:08

PHP框架MVCPHP

2011-05-23 09:21:08

點贊
收藏

51CTO技術(shù)棧公眾號