PHP 7 終於發表 2015/12/03,跳過 PHP 6:效能 200%(比起5.6), 更省記憶體
 
 
美國時間 2015/12/03 or 台灣時間 2015/12/04) 正式發表 PHP 7.0。
 
 
 
 
1. 最新 Zend 3.0 引擎
 
 
2. 平均效能提升 100% 以上 (70% ~ 130%);也就是和以前比是 200%+
 
 
2.1 Drupal 於 PHP 7.0.0 效能為 PHP 5.6.10 的 "177%"
 
2.2 WordPress 於 PHP 7.0.0 效能為 PHP 5.6.10 的 "229%"
 
2.3 SugarCRM 於 PHP 7.0.0 效能為 PHP 5.6.10 的 "227%" 
 
 
3. 指定純量 Scalar & Function return 型別: int, float, string, bool.
 
 
4. 效能提升,但減少記憶體使用。
 
 
5. 「太空船」運算子 "<=>",同時給你 a > b, a = b, a < b 三向判斷。
 
 
6. 「空值預設值」運算子 "??",讓你寫程式更簡單!
 
 
 
更多 PHP7 (PHP6/PHP5) 延伸閱讀
 
 
Q&A: 為什麼 5.6 跳過 PHP 6 ,直接到 PHP 7? 什麼,投票決定!?
 
 
PHP.net  PHP 7.0 發表公告!
 
 
Zend 開發者官網 PHP 7.0 Release 公告!
 
 
 
太空船運算子範例(<=>): PHP 7 Spaceship Operator Example
 
 
@ https://wiki.php.net/rfc/combined-comparison-operator
 
 
代碼:
 
// Integers
 
echo 1 <=> 1; // 0
 
echo 1 <=> 2; // -1
 
echo 2 <=> 1; // 1
 
 
 
// Floats
 
echo 1.5 <=> 1.5; // 0
 
echo 1.5 <=> 2.5; // -1
 
echo 2.5 <=> 1.5; // 1
 
 
 
// Strings
 
echo "a" <=> "a"; // 0
 
echo "a" <=> "b"; // -1
 
echo "b" <=> "a"; // 1
 
 
 
echo "a" <=> "aa"; // -1
 
echo "zz" <=> "aa"; // 1
 
 
 
// Arrays
 
echo [] <=> []; // 0
 
echo [1, 2, 3] <=> [1, 2, 3]; // 0
 
echo [1, 2, 3] <=> []; // 1
 
echo [1, 2, 3] <=> [1, 2, 1]; // 1
 
echo [1, 2, 3] <=> [1, 2, 4]; // -1
 
 
 
// Objects
 
$a = (object) ["a" => "b"]; 
 
$b = (object) ["a" => "b"]; 
 
echo $a <=> $b; // 0
 
 
 
 
 
 
「空值預設值(??)」運算子範例: PHP 7 null coalescing operator Example
 
 
@ https://wiki.php.net/rfc/isset_ternary
 
 
代碼:
 
 
// 原本這樣寫
 
$username = (isset($_POST['username']) ? $_POST['username'] : 'guest');
 
 
// PHP 7.0 現在可以這樣寫
 
$username = $_POST['username'] ?? 'guest';
 
 
 
 
 
 
「 回傳值指定」範例: PHP 7 Return Type Hint Example
 
 
@ https://wiki.php.net/rfc/scalar_type_hints_v5
 
 
代碼:
 
 
function handle_age_calc($birthdate_str): int
 
{
 
    /* do some birth-age calculation */
 
    return $intAge;
 
}
 
 
 
 
 
 
Download & Build PHP 7.0 on Fedora
 
 
代碼:
 
 
yum groupinstall 'Development Environment'
 
 
yum whatprovides autoconf automake  
 
 
yum install libxml*
 
 
wget http://tw1.php.net/distributions/php-7.0.0.tar.gz
 
 
tar xvfz php-7.0.0.tar.gz
 
 
cd php-7.0.0
 
 
./buildconf
 
 
./configure
 
 
make -j8
 
 
./sapi/cli/php --version
 
 
 
 
			   
			   php7-zend-engine-v3.png
			   
			  
			   
			  
   
			   
			   php7-released.jpg
			   
			  
			   
			  
   
			   
			   php7-vs-php5.6_performance.jpg
			   
			  
			   
			  
   
			   
			   php-7.0.0.jpg
			   
			  
			   
			  
   
			   
 ________________ 
 
美術插畫設計案子報價系統 v0.1 Beta
 
爪哇禾雀
 
 |