做大型項目時php為什么不適合?很多新手對此不是很清楚,為了幫助大家解決這個難題,下面小編將為大家詳細講解,有這方面需求的人可以來學習下,希望你能有所收獲。
我們提供的服務有:成都網站設計、網站制作、微信公眾號開發(fā)、網站優(yōu)化、網站認證、類烏齊ssl等。為1000多家企事業(yè)單位解決了網站和推廣的問題。提供周到的售前咨詢和貼心的售后服務,是有科學管理、有技術的類烏齊網站制作公司1、對遞歸的不良支持
遞歸是一種函數調用自身的機制。這是一種強大的特性可以把某些復雜的東西變得很簡單。有一個使用遞歸的例子是快速排序(quicksort)。不幸的是,PHP并不擅長遞歸。Zeev,一個PHP開發(fā)人員,說道:“PHP 4.0(Zend)對密集數據使用了棧方式,而不是使用堆方式。也就是說它能容忍的遞歸函數的數量限制和其他語言比起來明顯少。”見bug 1901。這是一個很不好的借口。每一個編程語言都應該提供良好的遞歸支持。
2、許多PHP模塊都不是線程安全的
在幾年前,Apache發(fā)布了Web服務器的2.0版。這個版本支持多線程模式,在這個模式下,軟件一個一部分可以同時運行多個。PHP的發(fā)明者說PHP的核心是線程安全的,但是非核心模塊不一定是。但是十次有九次,你想要在PHP腳本中使用這種模塊,但這又使你的腳本不能合適Apache的多線程模式。這也是為什么PHP小組不推薦在Apache 2 的多線程模式下運行PHP。不良的多線程模式支持使PHP常被認為是Apache 2依然不流行的原因之一。
3、PHP 由于商業(yè)原因而不健全
通過使用緩存,PHP的性能可以陡增500%[見基準測試]。那么為什么緩存沒有被構建在PHP中呢?因為Zend——PHP的制造者,它在銷售自己的Zend Accelerator,所以當然,他們不想拋棄自己的商業(yè)產品這塊肥肉。
但是有另一個可選擇的: APC. (Zend后來推出Zend Optimizer,免費的加速器——譯者)
4、不標準的日期格式字符
很多程序員對日期格式字符都很熟悉,它是從UNIX和C語言中來的。其他一些編程語言采用了這個標準,但是很奇怪的,PHP有它自己的一套完全不兼容的日期格式字符。在C中,“%j”表示一年中的當天,在PHP中他表示一個月中的當天。然而使事情更混亂的是:Smarty (一個很流行的PHP模版引擎)的 strftime 函數和 date_format 函數,卻使用了C/UNIX的格式化字符。
5、混亂的許可證
你也許認為PHP是免費的,所有的在手冊中提到的PHP模塊也是免費的。錯了!例如,如果你想在PHP中生成PDF文件,你會在手冊中發(fā)現兩個模塊:PDF 和 ClibPDF。但是這兩個都是有商業(yè)許可證的。所以,你所使用的每個模塊,你都要確保你同意他的許可證。
6、不一致的函數命名規(guī)則
有些函數名稱是有多個單詞組成的。一般有三種單詞組合的習慣:
● 直接拼接:getnumberoffiles
● 用下劃線分開:get_number_of_files
● 駱駝法則:getNumberOfFiles
大部分語言選擇其中一中。但是PHP都用到了。
例如,你想要把一些特殊字符轉換成HTML實體,你會使用函數htmlentities (直接拼接單詞)。如果你要使用相反的功能,你要用到它的小弟弟html_entity_decode。由于某些特殊的原因,這個函數名是由下劃線分隔單詞。怎么能這樣呢?你知道有一個函數叫strpad。或者他是str_pad?每次你都要查看一下到底這個符號是什么或者直接等他出現一個錯誤。函數是不分大小寫的,所以對于PHP來說rawurldecode 和RawUrlDecode之間沒有什么區(qū)別。這也很糟糕,因為兩個都使用到了同時他們看上去還不一樣,混淆了閱讀者。
7、魔法引用的地獄
魔法引用(Magic quote)可以保護PHP腳本免受SQL注入攻擊。這很好。但是出于某些原因,你可以在php.ini中關閉這個配置。所以你如果要寫出一個有彈性的腳本,你總要檢查魔法引用是開啟還是關閉。這樣一個“特性”應該讓編程更簡單,而事實上變得更復雜了。
總結
對于非常小的項目,它可以是一個十分符合人意的編程語言。但是對于較大的和更為復雜的項目,PHP就顯出他的薄弱了。
看完上述內容是否對您有幫助呢?如果還想對相關知識有進一步的了解或閱讀更多相關文章,請關注創(chuàng)新互聯行業(yè)資訊頻道,感謝您對創(chuàng)新互聯的支持。
網站題目:做大型項目時php為什么不適合-創(chuàng)新互聯
本文來源:http://vcdvsql.cn/article0/didsoo.html
成都網站建設公司_創(chuàng)新互聯,為您提供微信公眾號、云服務器、面包屑導航、靜態(tài)網站、外貿網站建設、做網站
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯