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

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

L
リリース: 2023-02-17 15:30:02
転載
2750 人が閲覧しました

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. 新しい演算子「<=>」

構文: $c = $a <=> $b

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

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

If $a < $b、$c値は -1

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

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

//原写法
$username = isset($_GET[&#39;user]) ? $_GET[&#39;user] : &#39;nobody&#39;;
//现在
$username = $_GET[&#39;user&#39;] ?? &#39;nobody&#39;;
ログイン後にコピー

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

define(&#39;ARR&#39;,[&#39;a&#39;,&#39;b&#39;]);
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 &#39;function&#39;;};
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 までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート