1.PHP 標(biāo)量類型與返回值類型聲明 PHP 7 增加了標(biāo)量類型聲明的特性,標(biāo)量類型聲明有兩種模式: 強(qiáng)制模式 (默認(rèn)) 嚴(yán)格模式 2.PHP NULL 合并運(yùn)算符 PHP 7 新增加的 NULL 合并運(yùn)算符(??)是用于執(zhí)行isset()檢測的三元運(yùn)算的快捷方式。 NULL 合并運(yùn)算符會判斷變量是否存在且值不為NULL,如果是,它就會返回自身的值,否則返回它的第二個操作數(shù)。 例如: $a ? $a : 0; 改為 $a ?? 0; 3.PHP 太空船運(yùn)算符(組合比較符) PHP 7 新增加的太空船運(yùn)算符(組合比較符)用于比較兩個表達(dá)式 $a 和 $b,如果 $a 小于、等于或大于 $b時,它分別返回-1、0或1。 print( 1 <=> 1);print(PHP_EOL); 結(jié)果 0 print( 1 <=> 2);print(PHP_EOL); 結(jié)果 -1 print( 2 <=> 1);print(PHP_EOL); 結(jié)果 1 print(PHP_EOL); // PHP_EOL 為換行符 4.PHP 常量數(shù)組 在 PHP 5.6 中僅能通過 const 定義常量數(shù)組,PHP 7 可以通過 define() 來定義。 例如:define('sites', ['Google','Runoob','Taobao']); 5.匿名類 PHP 7 支持通過 new class 來實(shí)例化一個匿名類,這可以用來替代一些"用后即焚"的完整類定義。 6.PHP 過濾 unserialize() PHP 7 增加了可以為 unserialize() 提供過濾的特性,可以防止非法數(shù)據(jù)進(jìn)行代碼注入,提供了更安全的反序列化數(shù)據(jù)。 7.PHP 7 use 語句 PHP 7 可以使用一個 use 從同一個 namespace 中導(dǎo)入類、函數(shù)和常量; 8.PHP 7 錯誤處理 PHP 7 改變了大多數(shù)錯誤的報告方式。不同于 PHP 5 的傳統(tǒng)錯誤報告機(jī)制,現(xiàn)在大多數(shù)錯誤被作為 Error 異常拋出。 這種 Error 異??梢韵衿胀ó惓R粯颖?try / catch 塊所捕獲。如果沒有匹配的 try / catch 塊, 則調(diào)用異常處理函數(shù)(由 set_exception_handler() 注冊)進(jìn)行處理。 如果尚未注冊異常處理函數(shù),則按照傳統(tǒng)方式處理:被報告為一個致命錯誤(Fatal Error)。 Error 類并不是從 Exception 類 擴(kuò)展出來的,所以用 catch (Exception $e) { ... } 這樣的代碼是捕獲不 到 Error 的。你可以用 catch (Error $e) { ... } 這樣的代碼,或者通過注冊異常處理函數(shù)( set_exception_handler())來捕獲 Error。 9.PHP 7 Session 選項(xiàng) PHP 7 session_start() 函數(shù)可以接收一個數(shù)組作為參數(shù),可以覆蓋 php.ini 中 session 的配置項(xiàng)。 這個特性也引入了一個新的 php.ini 設(shè)置(session.lazy_write), 默認(rèn)情況下設(shè)置為 true,意味著 session 數(shù)據(jù)只在發(fā)生變化時才寫入。 除了常規(guī)的會話配置指示項(xiàng), 還可以在此數(shù)組中包含 read_and_close 選項(xiàng)。如果將此選項(xiàng)的值設(shè)置為 TRUE, 那么會話文件會在讀取完畢之后馬上關(guān)閉, 因此,可以在會話數(shù)據(jù)沒有變動的時候,避免不必要的文件鎖。 10.PHP 7 移除的擴(kuò)展 PHP 7+ 版本移除了以下擴(kuò)展:ereg,mssql,mysql,sybase_ct。 這有關(guān)于PHP7新特性視頻教程:https://www./video/167.html 大家也可以看看。 |
|