php のアップグレードが最優先事項であるため、会社は近い将来のみアップグレードを計画しているため、以前は php7 によってもたらされる喜びをプライベートでしか理解できませんでした
PHP7 によってもたらされる利点
はい、パフォーマンスが大幅に向上し、マシンを節約し、コストを節約できます。 (推奨学習: PHP ビデオ チュートリアル )
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
$a > $b の場合、$c の値は 1
If $a == $b、$c の値は 0
If $a
4.New演算子 "??"
変数が存在し、値が 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 コード->パーサー構文分析- > AST -> OPCODE -> 実行
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};
以上がphpをアップグレードする必要はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。