phpをアップグレードする必要はありますか?

(*-*)浩
リリース: 2023-02-26 18:42:01
オリジナル
3114 人が閲覧しました

php のアップグレードが最優先事項であるため、会社は近い将来のみアップグレードを計画しているため、以前は php7 によってもたらされる喜びをプライベートでしか理解できませんでした

phpをアップグレードする必要はありますか?

PHP7 によってもたらされる利点

はい、パフォーマンスが大幅に向上し、マシンを節約し、コストを節約できます。 (推奨学習: PHP ビデオ チュートリアル )

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 < $b、$c の値は -1

4.New演算子 "??"

変数が存在し、値が 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 コード->パーサー構文分析- > AST -> OPCODE -> 実行

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};
ログイン後にコピー

以上がphpをアップグレードする必要はありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
php
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート