一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

服務器之家:專注于服務器技術及軟件下載分享
分類導航

PHP教程|ASP.NET教程|Java教程|ASP教程|編程技術|正則表達式|C/C++|IOS|C#|Swift|Android|VB|R語言|JavaScript|易語言|vb.net|

服務器之家 - 編程語言 - PHP教程 - 談談 PHP7新增功能

談談 PHP7新增功能

2020-12-07 15:23xiezhengcai PHP教程

php7發布已有半月,最近有時間了解一下php7的新特性,當然,這個版本最大的特點是性能的提升,對php7 新增功能的相關知識感興趣的朋友一起學習吧

php7發布已有半月,最近有時間了解一下php7的新特性,當然,這個版本最大的特點是性能的提升。在下并非高手,歡迎大家指出錯誤,同時期待共同交流。

PHP語言一個非常重要的特點就是“弱類型”,它讓PHP的程序變得非常容易編寫,新手接觸PHP能夠快速上手,不過,它也伴隨著一些爭議。支持變量類型的定義,可以說是革新性質的變化,PHP開始以可選的方式支持類型定義。除此之外,還引入了一個開關指令declare(strict_type=1);,當這個指令一旦開啟,將會強制當前文件下的程序遵循嚴格的函數傳參類型和返回類型。

1.在use語句增加了group支持

use FooLibrary\Bar\Baz\{ ClassA, ClassB, ClassC, ClassD as Fizbo };

2.增加??操作符

?
1
2
3
4
isset($_GET['mykey']) ? $_GET['mykey'] : ""笨重
$_GET['mykey'] ?: "" 當mykey不存在時會報一個E_NOTICE
$_GET['mykey'] ?? 'defaultvalue' 安全不會報E_NOTICE
$username = $_GET['user'] ?? 'nobody';

3. 64位PHP7字符串長度可以超過2^31次方字節。

4.增加Closure::call支持

Closure::call將一個閉包函數動態綁定到一個新的對象實例并調用執行該函數,

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
<?php
class Value {
protected $value;
public function __construct($value) {
$this->value = $value;
}
public function getValue() {
return $this->value;
}
}
$three = new Value();
$four = new Value();
$closure = function ($delta) { var_dump($this->getValue() + $delta); };
$closure->call($three, );
$closure->call($four, );
?>
// outputs int(),int()

5.雙引號字符串和heredocs里面支持使用\u{xxxxx}來聲明unicode字符。

6.define對數組的支持

?
1
2
3
4
5
6
define('ANIMALS', array(
'dog',
'cat',
'bird'
));
echo ANIMALS[]; // outputs "cat"

7.增加比較運算符<=>

$a <=> $b
如果a等于b則為0
如果a大于b則為1
如果a小于b則為-1

8.php全局保留字可以聲明使用

?
1
2
3
4
5
class View {
 public function include(View $view) {
  //...
 }
}

include關鍵字可以當普通字符串關鍵字一樣被使用

9.標量類型(int,float,string,bool)支持

增加declare(strict_types=1)指令聲明是否嚴格類型校驗,
當在文件頭聲明declare(strict_types=1)

?
1
2
3
4
5
6
<php
declare(strict_types=);
function add(float $a, float $b): float {
 return $a + $b;
}
add(, ); // float()

以上代碼如果不開啟declare(strict_types=1)或許declare(strict_types=0),php將自動轉換參數和返回值到指定類型,
開啟declare(strict_types=1),如果參數類型不是flaot或許返回類型不是float則拋出錯誤

10.增加接口為用戶層提供安全方便的隨機數生成器。RFC: https://wiki.php.net/rfc/easy_userland_csprng (后續再議)

11.增加了yield from 操作符。https://wiki.php.net/rfc/generator-delegation (后續再議)

知識是我們已知的 也是我們未知的 基于已有的知識之上 我們去發現未知的 由此,知識得到擴充 我們獲得的知識越多 未知的知識就會更多 因而,知識擴充永無止境。

附:PHP7卓越性能背后的原理有哪些

PHP7在運行原理上與PHP5相比并沒有變化,這與hhvm不同。主要是基于perf性能分析工具進行了常規性能優化。

  減少內存分配次數,多使用棧內存,緩存數組hash值,字符串解析成參數改為宏展開,使用大塊連續內存代替小塊內存等等。更細節信息請看鳥哥的PHP7分享PPT。zend引擎程序的性能提升了很多,PHP程序性能自然好了。所有的優化都是很實在的,從細節入手積少成多。

  想辦法去優化一個有20年歷史的程序,這是一件非常有挑戰性的事情,比推倒重構難度更高。世界上有80%的網站用PHP,使用PHP7后這些網站程序無太大成本就能免費得到1倍性能提升。將節約多少CPU,節約多少電力,減少多少碳排放。另外PHP是開源項目,背后沒有商業公司,完全由社區運作。使用PHP語言的開發者和企業從未向PHP官方付過一分錢。所以建議各位知友口下留德,無論您多么鄙視PHP,但請尊重別人為世界所做的付出。

以上內容是小編給大家介紹的PHP7新增功能及PHP7卓越性能背后的原理,希望大家喜歡。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 国产日韩视频一区 | aⅴ天堂小视频 | 99精品热视频 | 1024在线视频精品免费 | 欧美国产日产精品免费视频 | 免费日批 | 午夜一区二区三区 | 精品视频中文字幕 | 国产1区二区 | 色综合视频在线 | 欠操h| 青草青草视频2免费观看 | 五月激情丁香婷婷综合第九 | 亚洲激情网 | 青青热久免费精品视频网站 | 91视频99| china精品对白普通话 | 四虎现在的网址入口2022 | 99热影院 | 美国女艳星brandilove | 暖暖的免费观看高清视频韩国 | 免费视频网 | boobsmilking流奶水 | 日韩黄色录像 | 污黄在线观看 | 精品国产品香蕉在线观看75 | 国模孕妇季玥337p人体 | 男人的天堂在线观看入口 | 免费jizz在在线播放国产 | 久久99r66热这里只有精品 | 国产一卡二卡四卡免费 | 亚洲婷婷在线视频 | 9420高清视频在线观看网百度 | 欧美破处摘花 | 欧美日韩国产精品自在自线 | 欧美老女人b | 国产日韩欧美综合一区二区三区 | h玉足嫩脚嗯啊白丝 | 男人的天堂comwww | 美女牲交毛片一级视频 | 视频高清在线观看 |