首頁 > 後端開發 > PHP問題 > php5.6和php7的差別是什麼

php5.6和php7的差別是什麼

WBOY
發布: 2023-03-15 08:18:01
原創
3039 人瀏覽過

php5.6和php7的差異:1、php7中新增了函數的回傳類型宣告;2、php7中新增了標量型別宣告;3、php7新增了匿名類別;4、 php7移除了一些不再支援的SAPI和拓展。

php5.6和php7的差別是什麼

本教學操作環境:windows10系統、PHP7.1版、DELL G3電腦

php5.6和php7的差別是什麼

一、倆的差異

1.PHP7.0比PHP5.6效能提升了兩個倍。

2.PHP7.0全面一致支援64位元。

3.PHP7.0之前出現的致命錯誤,都改成了拋出議程。

4.增加了空結合運算子(??),相當於三元運算子。

5.PHP7.0新增了函數的回傳類型宣告。

6.PHP7.0新增了標量類型宣告。

7.PHP7中的函數的形參類型宣告可以是標量。在PHP5只可以是類別名稱、介面、陣列或callable(PHP5.4,也就是可以是函數,包含匿名函數),現在也可以使用string、int、float和bool了。

8.PHP7.0中新增加了匿名類別。

9.PHP7.0之後移除了一些舊的不再支援的SAPI(伺服器端應用程式連接埠)和擴充功能。

10.define可以定義常數數組。

二、PHP7.0新功能

1.類型的宣告

可以使用字串(string), 整數 (int), 浮點數 (float), 以及布林值 (bool),來宣告函數的參數型別與函數傳回值。

標量宣告類型模式:強制模式(預設模式)和嚴格模式

declare(strict_types=1),必須放在最上面,確保檔案執行有效。

2.異常處理

PHP7.0中避免了先前的致命錯誤,而是透過繼承Error類,將錯誤拋出,讓開發者對程式的掌控能力更強。

3.新增運算子"<=>"

語法:$x = $y <=> $z

##如果$y> $ z, $x 的值為1

若$y == $z, $x 的值為0

若$y < $z, $x 的值為-1

4.新增操作費「??」

如果變數存在且值不為NULL,則傳回自身的值,否則傳回第二個運算元。

5.define()定義常數數組

6.匿名函數

7.Unicode字元格式支援(echo"/u{1234}")

#8.Unserialize 提供過濾特性

防止非法資料進行程式碼注入,提供了更安全的反序列化資料。

9.命名空間引用最佳化

在同一資料夾中的檔案支援陣列形式引入

三、如何充分發揮PHP7效能

1.開啟Opcache

zend_extension=opcache.so 
opcache.enable=1 
opcache.enable_cli=1
登入後複製

2.使用GCC 4.8以上進行編譯

3.開啟HugePage

4.PGO (Profile Guided Optimization)

推薦學習:《

PHP影片教學

以上是php5.6和php7的差別是什麼的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
php
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板