ホームページ  >  記事  >  バックエンド開発  >  php7 の新機能: php7 によってもたらされた新機能

php7 の新機能: php7 によってもたらされた新機能

L
L転載
2020-05-30 09:56:222696ブラウズ

php7 の新機能: php7 によってもたらされた新機能

PHP7 によってもたらされた新機能

1. 型宣言

文字列 (string)、整数 (int)、浮動小数点数 (float)、およびブール値 (bool) を使用して、関数のパラメーターの型と関数は値を返します。

declare(strict_types=1);
function add(int $a, int $b): int {
return $a+$b;
}
echo add(1, 2);
echo add(1.5, 2.6);

php5 は上記のコードを実行できません。php7 が実行されると、最初に 3 とエラーが出力されます (add() に渡される引数 1 は整数型であり、float が指定されている必要があります);

スカラー型宣言には、必須モード (デフォルト) と厳密モードの 2 つのモードがあります。
declare(strict_types=1)、コードを実行するにはファイルの最初の行に配置する必要があります。現在のファイルは有効です。

2.set_Exception_handler() は、受信したものが Exception オブジェクトであることを保証しなくなりました

PHP 7 には、多くの致命的なエラーと回復可能な致命的なエラーが存在します。エラーは、処理のために例外に変換されます。これらの例外は、Throwable インターフェイスを実装する Error クラスを継承します (すべての例外はこの基本インターフェイスを実装します)。

PHP7 は、開発者の処理をさらに容易にし、開発者がプロ​​グラムをより詳細に制御できるようにします。デフォルトでは、エラーはプログラムを直接中断させますが、PHP7 はエラーをキャプチャして処理する機能を提供し、プログラムを許可します。この実装では、プログラマにより柔軟なオプションが引き続き提供されます。

3. 新しい演算子「96b4fef55684b9312718d5de63fb7121」

構文: $c = $a 96b4fef55684b9312718d5de63fb7121 $b

If $ a > $b、$c の値は 1

If $a == $b、$c の値は 0

If $a

4 です。新しい演算子 "??"

変数が存在し、値が NULL でない場合は、独自の値が返されます。それ以外の場合は、変数が存在します。 2 番目のオペランドが返されます。

//原写法
$username = isset($_GET['user]) ? $_GET['user] : 'nobody';
//现在
$username = $_GET['user'] ?? 'nobody';

5.define() 定数配列の定義

define('ARR',['a','b']);
echo ARR[1];// a

6.AST: 抽象構文ツリー、抽象構文ツリー

AST は、PHP のコンパイル プロセスでミドルウェアの役割を果たし、インタープリターから直接オペコードを吐き出す元の方法を置き換え、インタープリター (パーサー) とコンパイラー (コンパイラー) を分離します。これにより、一部のハック コードを削減して実装を行うことができます。

PHP5: PHP コード -> パーサー構文分析 -> OPCODE -> 実行
PHP7: PHP コード -> gt; パーサー構文分析 -> AST -> OPCODE -> 実行

参考: https://wiki.php.net/rfc/abstract_syntax_tree

7.匿名関数

$anonymous_func = function(){return 'function';};
echo $anonymous_func(); // 输出function

8.Unicode 文字形式のサポート (echo "\u{9999}")

#9.Unserialize はフィルタリング機能を提供します

不正なデータのコードインジェクションを防止し、より安全な逆シリアル化されたデータを提供します。

10. 名前空間参照の最適化

// PHP7以前语法的写法
use FooLibrary\Bar\Baz\ClassA;
use FooLibrary\Bar\Baz\ClassB;
// PHP7新语法写法
use FooLibrary\Bar\Baz\{ ClassA, ClassB};

推奨チュートリアル: "

PHP7 チュートリアル"

以上がphp7 の新機能: php7 によってもたらされた新機能の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はcsdn.netで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。