PHP是一種被廣泛用于服務(wù)器端Web開發(fā)的腳本語言,作為一個(gè)Web開發(fā)者,你或許已經(jīng)聽說過PHP 5和PHP 7,他們都是php語言版本,但不同版本之間,有著不同的特點(diǎn),甚至不同的功能。
首先,PHP 7比PHP 5有著更好的性能表現(xiàn)。PHP 7的性能較前一代提高了30%~50%之間的速度提升,這是由于更好的內(nèi)存管理和一些新的機(jī)制導(dǎo)致的。下面是php 7性能提升明顯的一些例子:
PHP 5: for ($i=0; $i< 1000; $i++) { if ($i % $max == 0) { echo "Iteration $i: memory usage = " . (memory_get_usage() / 1024) . "KBn"; } } PHP 7: for ($i=0; $i< 1000; $i++) { if ($i % $max == 0) { echo "Iteration $i: memory usage = " . (memory_get_peak_usage() / 1024) . "KBn"; } }
其次,PHP 7有新的錯(cuò)誤捕獲方式。PHP 7的一個(gè)新特性是可以捕捉到致命錯(cuò)誤的方式。如果你在PHP 7中使用一個(gè)不存在屬性或者方法的時(shí)候,不會(huì)拋出一個(gè)致命錯(cuò)誤,而是轉(zhuǎn)而拋出一個(gè)Error異常,你可以像處理普通錯(cuò)誤一樣去處理這類錯(cuò)誤了:
class Foo { public $bar; } $foo = new Foo(); $baz = $foo->baz; // throws an instance of Error // using the $baz variable after that statement // terminates the script
此外,PHP 7最引人注目的特點(diǎn)之一是類型聲明。 同樣,PHP 7允許開發(fā)者在函數(shù)、方法和閉包中使用標(biāo)量類型聲明,包括整數(shù)、浮點(diǎn)數(shù)、字符串和布爾類型。這可以讓你在調(diào)用一個(gè)函數(shù)或者方法的時(shí)候,確認(rèn)傳遞給他們的參數(shù)是否符合類型聲明,從而可以更加精細(xì)地校驗(yàn)輸入數(shù)據(jù)。類型強(qiáng)制轉(zhuǎn)換也由此便成為一種在類型上下文中自動(dòng)將值轉(zhuǎn)換為不同類型的方法。
function compare( int $left_value, int $right_value ): int { if ($left_value >$right_value) { return 1; } elseif ($left_value< $right_value) { return -1; } return 0; }
綜上,PHP 7相比PHP 5,在性能、錯(cuò)誤捕捉和類型檢測方面都有了新的提升,讓PHP語言在Web開發(fā)中可以處理更多的功能和更大的應(yīng)用程序。當(dāng)然,對于一些舊的應(yīng)用程序,升級也未必是一定的必要升級,相信未來PHP語言還會(huì)有更多的進(jìn)步。