您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關PHP7常用新特性是什么,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
1.PHP 標量類型與返回值類型聲明
PHP 7 增加了標量類型聲明的特性,標量類型聲明有兩種模式:
強制模式 (默認)
嚴格模式
2.PHP NULL 合并運算符
PHP 7 新增加的 NULL 合并運算符(??)是用于執行isset()檢測的三元運算的快捷方式。
NULL 合并運算符會判斷變量是否存在且值不為NULL,如果是,它就會返回自身的值,否則返回它的第二個操作數。
例如: $a ? $a : 0; 改為 $a ?? 0;
3.PHP 太空船運算符(組合比較符)
PHP 7 新增加的太空船運算符(組合比較符)用于比較兩個表達式 $a 和 $b,如果 $a 小于、等于或大于 $b時,它分別返回-1、0或1。
例如:
print( 1 <=> 1);print(PHP_EOL); 結果 0 print( 1 <=> 2);print(PHP_EOL); 結果 -1 print( 2 <=> 1);print(PHP_EOL); 結果 1 print(PHP_EOL); // PHP_EOL 為換行符
4.PHP 常量數組
在 PHP 5.6 中僅能通過 const 定義常量數組,PHP 7 可以通過 define() 來定義。
例如:define('sites', ['Google','Runoob','Taobao']);
5.匿名類
PHP 7 支持通過 new class 來實例化一個匿名類,這可以用來替代一些"用后即焚"的完整類定義。
6.PHP 過濾 unserialize()
PHP 7 增加了可以為 unserialize() 提供過濾的特性,可以防止非法數據進行代碼注入,提供了更安全的反序列化數據。
7.PHP 7 use 語句
PHP 7 可以使用一個 use 從同一個 namespace 中導入類、函數和常量;
8.PHP 7 錯誤處理
PHP 7 改變了大多數錯誤的報告方式。不同于 PHP 5 的傳統錯誤報告機制,現在大多數錯誤被作為 Error 異常拋出。
這種 Error 異常可以像普通異常一樣被 try / catch 塊所捕獲。如果沒有匹配的 try / catch 塊, 則調用異常處理函數(由 set_exception_handler() 注冊)進行處理。 如果尚未注冊異常處理函數,則按照傳統方式處理:被報告為一個致命錯誤(Fatal Error)。
Error 類并不是從 Exception 類 擴展出來的,所以用 catch (Exception $e) { ... } 這樣的代碼是捕獲不 到 Error 的。你可以用 catch (Error $e) { ... } 這樣的 PHP源碼 ,或者通過注冊異常處理函數( set_exception_handler())來捕獲 Error。
9.PHP 7 Session 選項
PHP 7 session_start() 函數可以接收一個數組作為參數,可以覆蓋 php.ini 中 session 的配置項。
這個特性也引入了一個新的 php.ini 設置(session.lazy_write), 默認情況下設置為 true,意味著 session 數據只在發生變化時才寫入。
除了常規的會話配置指示項, 還可以在此數組中包含 read_and_close 選項。如果將此選項的值設置為 TRUE, 那么會話文件會在讀取完畢之后馬上關閉, 因此,可以在會話數據沒有變動的時候,避免不必要的文件鎖。
10.PHP 7 移除的擴展
PHP 7+ 版本移除了以下擴展:ereg,mssql,mysql,sybase_ct。
以上就是PHP7常用新特性是什么,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。