2021年,PHP黃了,這是一個(gè)令人惋惜的事實(shí)。很多年輕的程序員將PHP視為入門之路,但現(xiàn)在它已經(jīng)不再是最流行的語言之一,因?yàn)槭褂盟帉懙膽?yīng)用程序可能會(huì)受到嚴(yán)重的安全漏洞和性能問題的影響。
為了說明PHP黃了的情況,讓我們以WordPress為例。盡管WordPress在不斷努力提高其安全性和性能,但由于其基于PHP的本質(zhì)特征,它仍然是一個(gè)受攻擊的目標(biāo)。近年來,WordPress遭受的大量攻擊事件引起了廣泛的關(guān)注。
/*WordPress中的SQL注入漏洞*/
function get_post_meta( $post_id, $key = '', $single = false ) {
global $wpdb;
$meta_cache = wp_cache_get( $post_id, 'post_meta' );
...
if ( !$meta_cache ) {
$query = $wpdb->prepare("SELECT meta_key, meta_value FROM $wpdb->postmeta WHERE post_id = %d", $post_id);
$meta_rows = $wpdb->get_results($query);
...
另一個(gè)例子是Magento。Magento的性能和安全性有一些非常出色的特點(diǎn),但由于其使用的是PHP語言,它被認(rèn)為是比其他一些語言更容易受到攻擊的框架之一。許多開發(fā)人員為此已經(jīng)放棄了Magento,尋找更好的解決方案。
/*Magento中的XSS漏洞*/
public function process($value) {
if (is_array($value)) {
$escaper = Mage::getSingleton('core/escaper');
foreach ($value as $key => $item) {
$value[$key] = $this->process($item);
}
} else {
$value = $escaper->escapeHtml($value);
}
}
PHP黃了的原因有多種,其中包括其早期版本中的許多安全漏洞和嚴(yán)重的性能問題。現(xiàn)在,雖然一些框架和CMS系統(tǒng)已經(jīng)做出了一些努力來解決這些問題,但這些努力常常是遲到的。
使用PHP的大多數(shù)網(wǎng)站都需要進(jìn)行大量的優(yōu)化才能保持足夠的性能水平。這包括使用緩存技術(shù)、最小化數(shù)據(jù)庫查詢、使用最佳實(shí)踐編寫代碼、調(diào)整服務(wù)器設(shè)置等工作。
在這樣的情況下,許多程序員開始將注意力轉(zhuǎn)向其他語言,例如Node.js、Python和Ruby等。這些語言的使用已經(jīng)越來越受歡迎,因?yàn)樗鼈兲峁┝烁玫男阅芎透叩陌踩浴?/p>
然而,這并不意味著PHP已經(jīng)被完全取代。PHP仍然是一種非常流行的語言,它在全球范圍內(nèi)仍然有大量的用戶和使用者。對(duì)于那些熟悉PHP的人來說,他們?nèi)匀幌M吹絇HP被保持和改進(jìn),為他們提供更好的工具和解決方案。
總之,PHP黃了,這是個(gè)事實(shí)。雖然它仍然是一種流行的語言,但也存在許多嚴(yán)重的問題,需要我們努力解決它們。只有這樣,我們才能繼續(xù)使用PHP并為它建立更好的未來。