色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

深入解析PHP程序不實用大型系統的六大原因

瀏覽:5日期:2024-07-08 14:57:59

1、對遞歸的不良支持

遞歸是一種函數調用自身的機制。這是一種強大的特性可以把某些復雜的東西變得很簡單。有一個使用遞歸的例子是快速排序(quicksort)。不幸的是,PHP并不擅長遞歸。Zeev,一個PHP開發人員,說道:“PHP 4.0(Zend)對密集數據使用了棧方式,而不是使用堆方式。也就是說它能容忍的遞歸函數的數量限制和其他語言比起來明顯少。見bug 1901。這是一個很不好的借口。每一個編程語言都應該提供良好的遞歸支持。

2、許多PHP模塊都不是線程安全的

在幾年前,Apache發布了Web服務器的2.0版。這個版本支持多線程模式,在這個模式下,軟件一個一部分可以同時運行多個。PHP的發明者說PHP的核心是線程安全的,但是非核心模塊不一定是。但是十次有九次,你想要在PHP腳本中使用這種模塊,但這又使你的腳本不能合適Apache的多線程模式。這也是為什么PHP小組不推薦在Apache 2 的多線程模式下運行PHP。不良的多線程模式支持使PHP常被認為是Apache 2依然不流行的原因之一。

3、PHP 由于商業原因而不健全

通過使用緩存,PHP的性能可以陡增500%[見基準測試]。那么為什么緩存沒有被構建在PHP中呢?因為Zend——PHP的制造者,它在銷售自己的Zend Accelerator,所以當然,他們不想拋棄自己的商業產品這塊肥肉。

但是有另一個可選擇的: APC. (Zend后來推出Zend Optimizer,免費的加速器——譯者)

4、沒有命名空間

設想某個人制作了一個PHP模塊用來閱讀文件。模塊中一個函數叫做read。然后另一個人的模塊可以讀取網頁的,同樣包含一個函數read。然后我們就無法同時使用這兩個模塊了,因為PHP不知道你要用哪個函數。但是有一個很簡單的解決方法,那就是命名空間。曾經有人建議PHP5加入這個特性,但不幸的是他沒有這么做。現在,沒有命名空間,每個函數都必須加上模塊名作為前綴,來避免名稱沖突。這導致了函數名恐怖得長,例如xsl_xsltprocessor_transform_to_XML讓代碼難于書寫和理解。

5、不標準的日期格式字符

很多程序員對 日期格式字符 都很熟悉,它是從UNIX和C語言中來的。其他一些編程語言采用了這個標準,但是很奇怪的,PHP有它自己的一套完全不兼容的日期格式字符。在C中,“%j表示一年中的當天,在PHP中他表示一個月中的當天。然而使事情更混亂的是:Smarty (一個很流行的PHP模版引擎)的 strftime 函數和 date_format 函數,卻使用了C/UNIX的格式化字符。

6、混亂的許可證

你也許認為PHP是免費的,所有的在手冊中提到的PHP模塊也是免費的。錯了!例如,如果你想在PHP中生成PDF文件,你會在手冊中發現兩個模塊:PDF 和 ClibPDF。但是這兩個都是有商業許可證的。所以,你所使用的每個模塊,你都要確保你同意他的許可證。

標簽: PHP
相關文章:
主站蜘蛛池模板: 久久依人 | 亚洲精品无码专区在线播放 | 欧美国产合集在线视频 | 99热久久国产精品免费观看 | 全部aⅴ极品视觉盛宴精品 全部免费a级毛片 | 久久国产经典视频 | 国产90后美女露脸在线观看 | 欧美黄色免费网站 | 欧美精品一区二区三区在线 | 免费亚洲黄色 | 免费人成在线观看视频不卡 | 模特三级在线观看 | www成人国产在线观看网站 | 大陆高清自拍 | 国产三级高清 | 99精品免费久久久久久久久日本 | 99久久免费午夜国产精品 | 国产97公开成人免费视频 | 久久精品呦女 | 亚洲免费成人网 | 久久亚洲精品无码观看不卡 | 太平公主三级dvd | 日日干日日操日日射 | 一区二区三区四区视频在线 | 亚洲欧美色视频 | 在线观看免费国产 | 欧美中文字幕在线看 | 久久99精品久久久久久三级 | 在线国产毛片 | 成人免费一级毛片在线播放视频 | 一级毛片黄片 | 日美三级 | 日本a级毛片视频播放 | 国产综合在线视频 | 午夜亚洲国产成人不卡在线 | 欧美一级在线全免费 | 看黄网址| 91av综合| 久久精品香蕉 | 国产高清一区 | 亚洲高清在线观看看片 |