ホームページ > 見出し > PHP 7.4.0 がリリースされました。どのような新機能があるのか​​見てみましょう

PHP 7.4.0 がリリースされました。どのような新機能があるのか​​見てみましょう

藏色散人
リリース: 2019-12-07 18:02:21
転載
5396 人が閲覧しました

PHP 7.4.0 がリリースされました。これは、PHP 7 シリーズの 4 番目の機能アップデートです。

PHP 7.4.0 では、次のような多くの改善と新機能が導入されています。

1.型付きプロパティ 型属性

クラス属性で型宣言がサポートされるようになりました。次の例では、$User-> id には int 値のみが割り当てられ、$User-> name には文字列値のみが割り当てられます。

<?php
class User {
    public int $id;
    public string $name;
}
?>
ログイン後にコピー

2.アロー関数 アロー関数

アロー関数は、暗黙的な値渡し関数を定義する方法を提供します。ドメインバインド関数の構文。

<?php
$factor = 10;
$nums = array_map(fn($n) => $n * $factor, [1, 2, 3, 4]);
// $nums = array(10, 20, 30, 40);
?>
ログイン後にコピー

これは、array_map や array_filter などの関数にクロージャを渡すときに非常に役立ちます。

// A collection of Post objects $posts = [/* … */];
$ids = array_map(fn($post) => $post->id, $posts);
ログイン後にコピー

3.制限された戻り値の型の共分散と引数の型の反変性 制限された戻り値の型の共分散と引数の型の反変性

Full共分散/反分散のサポートは、自動読み込みを使用する場合にのみ提供されます。参照される前にすべてのクラスが使用可能である必要があるため、単一ファイル内では非循環型参照のみを使用できます。

<?php
class A {}
class B extends A {}
class Producer {
    public function method(): A {}
}
class ChildProducer extends Producer {
    public function method(): B {}
}
?>
ログイン後にコピー

4.配列内部のアンパック内部配列のパック

<?php
$parts = [&#39;apple&#39;, &#39;pear&#39;];
$fruits = [&#39;banana&#39;, &#39;orange&#39;, ...$parts, &#39;watermelon&#39;];
// [&#39;banana&#39;, &#39;orange&#39;, &#39;apple&#39;, &#39;pear&#39;, &#39;watermelon&#39;];
?>
ログイン後にコピー

5.数値リテラル区切り文字 数値リテラル区切り文字

数値リテラルでは、数値の間にアンダースコアを含めることができます。

<?php
6.674_083e-11; // float
299_792_458;   // decimal
0xCAFE_F00D;   // hexadecimal
0b0101_1111;   // binary
?>
ログイン後にコピー

6.弱い参照 弱い参照

弱い参照を使用すると、プログラマは、オブジェクトへの参照を保存せずに保持できます。オブジェクトの破壊を防ぎます。

7.__toString() からの例外を許可する __toString() から例外をスローできるようにする

例外を許可するようになりました。 from __toString() は例外をスローしますが、以前は致命的なエラーが発生していました。文字列変換における既存の回復可能な致命的なエラーは、エラー例外に変換されました。

8.Opcache プリロード Opcache プリロード

Opcache プリロードのサポートが追加されました。

さらに、いくつかの非推奨があり、いくつかの拡張機能がコアから削除されています。詳細については、次を参照してください:

https://www.php.net

https://www.php.net/manual/zh/migration74.new-features.php

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