卖逼视频免费看片|狼人就干网中文字慕|成人av影院导航|人妻少妇精品无码专区二区妖婧|亚洲丝袜视频玖玖|一区二区免费中文|日本高清无码一区|国产91无码小说|国产黄片子视频91sese日韩|免费高清无码成人网站入口

PHP到底有多糟糕?

網(wǎng)友解答: 四川優(yōu)就業(yè)的小編個(gè)人是十分支持PHP的,畢竟專做IT培訓(xùn)100年!但是為了回答你這個(gè)問(wèn)題,搬運(yùn)一個(gè)答案:韓天峰老師的評(píng)價(jià):PHP 語(yǔ)言有 20 多年的歷史,由于一直保持向下兼

網(wǎng)友解答:

四川優(yōu)就業(yè)的小編個(gè)人是十分支持PHP的,畢竟專做IT培訓(xùn)100年!但是為了回答你這個(gè)問(wèn)題,搬運(yùn)一個(gè)答案:

韓天峰老師的評(píng)價(jià):

PHP 語(yǔ)言有 20 多年的歷史,由于一直保持向下兼容。存在很多糟糕的地方,比如:

混亂的函數(shù)命名

不友好的 Array/String 函數(shù),至今數(shù)組和字符串的操作都沒(méi)有實(shí)現(xiàn) OO 接口

混亂的參數(shù)順序,導(dǎo)致完全記不住一個(gè)函數(shù)的用法,每次需要查手冊(cè)或借助 IDE

難用的 Zend API ,導(dǎo)致了在應(yīng)用與內(nèi)核之間,很難有一個(gè)中間層。比如 Node.js 做的就很好,它提供的 C++ API 可以讓其他 C++ 程序員很方便地為 Node 編寫擴(kuò)展模塊。而 Zend API 幾乎就是地獄模式,對(duì)開發(fā)者要求太高了。我在今年新開發(fā)的 PHP-X 就是為了解決這個(gè)問(wèn)題

缺乏異步 IO 網(wǎng)絡(luò)層,PHP 官方只提供了 sockets、stream、select 等 IO 函數(shù),無(wú)法滿足現(xiàn)在大并發(fā)時(shí)代的需求。所以就有了 Swoole 這個(gè)項(xiàng)目

缺乏對(duì)多線程的支持,雖然有一個(gè) pthreads 項(xiàng)目,但這個(gè)連玩具都算不上。多線程需要 PHP 語(yǔ)言底層進(jìn)行支持,而 PHP 設(shè)計(jì)之初就沒(méi)考慮過(guò)多線程

當(dāng)然,PHP 也有明顯的優(yōu)點(diǎn),比如其部署對(duì)于虛擬主機(jī)的友好超過(guò)(除了古老的 ASP 之外的)所有其他主流語(yǔ)言,因此在互聯(lián)網(wǎng)應(yīng)用爆發(fā)初期就占領(lǐng)了巨大市場(chǎng),一些世界上最大的網(wǎng)站最初(甚至至今)都是 PHP 寫的,這是其至今屹立不倒的核心原因。

網(wǎng)友解答:

我1999年開始寫PHP,那年P(guān)HP還只是3,一個(gè)連session都需要自己實(shí)現(xiàn)的版本。

對(duì)于PHP來(lái)說(shuō)缺點(diǎn)的確很多,最典型的例子就是函數(shù)參數(shù)順序混亂,一會(huì)兒needle在第一個(gè),一會(huì)兒haystack在第一個(gè),這個(gè)對(duì)于初學(xué)者來(lái)說(shuō)真的是很暈的事情。

不過(guò)總得來(lái)說(shuō)PHP正在往一個(gè)好的方向發(fā)展,7重寫了內(nèi)核,性能在極端情況下提升了300%

其實(shí)我現(xiàn)在已經(jīng)很少寫PHP,如果是自己的項(xiàng)目,一般我會(huì)優(yōu)先選擇Python或者Java,但是作為早期就相當(dāng)屬性的語(yǔ)言,PHP我經(jīng)常會(huì)寫2行程序,比如把一個(gè)json文本展開看一下之類的。

還是那句話,語(yǔ)言沒(méi)有好壞,選擇語(yǔ)言的時(shí)候更多的情況是看合不合適~項(xiàng)目的預(yù)算、時(shí)間、后期成本等等,然后再對(duì)需求進(jìn)行評(píng)估,看看上哪個(gè)語(yǔ)言比較合適,組什么樣的團(tuán)隊(duì)比較合適。

標(biāo)簽: