今回はphp7の新機能をまとめます。以下は実際の事例です。編集者の足跡をたどって見てみましょう。
スカラー型宣言(パラメータが特定の型である必要があります。パラメータの型が一致しない場合、php5は致命的なエラーを引き起こし、php7はTypeError例外をスローします)
2 つのモード: 強制モード (デフォルト) と厳密モード
型パラメーターは次のとおりです:
1. string
戻り値の型宣言
php7 は戻り値の型の宣言を追加します。戻り値の型の宣言は、関数の戻り値の型を指定するものと非常に似ています。使用可能な型は、パラメーター宣言で使用可能な型と同じです。 例:function sumOfInts(int ...$ints) { return array_sum($ints); } var_dump(sumOfInts(2, '3', 4.1));
NULL合体演算子
変数が存在し、値がNULLでない場合は独自の値を返し、それ以外の場合は2番目のパラメータを返します
6 [1] => 15 [2] => 24 )
結果上の式と下の式は同じです。
$username = $_GET['user'] ?? 'nobody';
結合比較演算子
例:
$username = isset($_GET['user']) ? $_GET['user'] : 'nobody';
define() を通じて定数配列を定義します
1; // 0 echo 1 <=> 2; // -1 echo 2 <=> 1; // 1 // Floats echo 1.5 <=> 1.5; // 0 echo 1.5 <=> 2.5; // -1 echo 2.5 <=> 1.5; // 1 // Strings echo "a" <=> "a"; // 0 echo "a" <=> "b"; // -1 echo "b" <=> "a"; // 1 ?>
匿名クラス
unserialize() のフィルタリングを提供します
php5.6 中 仅能通过const 定义
新しく追加された IntlChar クラスは、より多くの ICU 関数を公開するように設計されています。このクラス自体は、複数の文字セットで Unicode 文字を操作するための多くの静的メソッドを定義します
これを使用したい場合。クラスを使用するには、最初に Intl 拡張機能をインストールする必要があります
ExpectedExpected は、以前の Asser() の下位互換性があり強化されたメソッドであり、運用環境でアサーションをゼロコストで有効にし、アサーションが失敗したときに特性例外をスローする機能。
assert() は、最初のパラメータを、単なる評価対象の文字列やテスト対象のブール値ではなく、式にすることを可能にする言語構造です
クラスのセットを宣言するには use を使用してください
false]); // 除了MyClass,MyClass2 都转换为 into __PHP_Incomplete_Class object $data = unserialize($foo, ["allowed_classes" => ["MyClass", "MyClass2"]); // 默认的行为,接受所有的参数 $data = unserialize($foo, ["allowed_classes" => true]);
ジェネレータの戻り式
は次のとおりです:
ジェネレータは次のように別のジェネレータ
に委任できます。りー
新しい整数除算関数 intp()
は次のとおりです:
getReturn(), PHP_EOL;// 换行,为了提高源码可读性 以上例程会输出: 1 2 3
これで、session_start() を通じて配列パラメータを受け入れることができ、php.ini にセッションを書き込むことができます設定コマンドのパラメータは、session.lazy_write、read_and_close、cache_limiter などをサポートします。
は次のとおりです:
以上例程会输出: 1 2 3 4
は preg_replace_callback() よりも優れたパフォーマンスを発揮します
新機能 2つrandom_bytes() と random_int()
具体的な使用法については、以下を参照してください:random_bytes()
random_int()
list() は自動解凍をサポートしなくなりました
以前は、list は ArrayAccess を実装したオブジェクトの動作を保証していませんでしたが、この問題は解決されました
以上がphp7の新機能を詳しく解説の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。