ホームページ >バックエンド開発 >PHPチュートリアル >PHP 8 の Null Safe 演算子と Null Coalescing 演算子はどのようにしてオブジェクト プロパティへのアクセスを簡素化できるのでしょうか?

PHP 8 の Null Safe 演算子と Null Coalescing 演算子はどのようにしてオブジェクト プロパティへのアクセスを簡素化できるのでしょうか?

Susan Sarandon
Susan Sarandonオリジナル
2024-12-13 06:21:09743ブラウズ

How Can PHP 8's Null Safe and Null Coalescing Operators Simplify Object Property Access?

PHP 8 での Null Safe Operator と Null Coalescing Operator の活用

PHP コーディングでは、プロパティやプロパティにアクセスしたい状況に遭遇することがあります。オブジェクトが null でない場合にのみ、オブジェクトのメソッドを使用します。従来、これには冗長な条件文が必要でした。

PHP 8 の安全なナビゲーション

PHP 8 では、null セーフ演算子 (?->) が導入されました。 null 値による致命的なエラーを引き起こすことなくオブジェクトをナビゲートします。 null 合体演算子 (??) と組み合わせて、演算子呼び出しをエレガントに連鎖させることができます。

次のコードを考えてみましょう:

echo $data->getMyObject() != null ? $data->getMyObject()->getName() : '';

null セーフ演算子を使用すると、これを簡素化できますto:

echo $data->getMyObject()?->getName() ?? '';

この場合、$data が null の場合、チェーンは終了し、結果は null になります。

チェーン内の演算子

オブジェクトのプロパティまたはメソッドを検査する演算子は、null セーフの一部です連鎖:

  • 配列アクセス ([])
  • プロパティ アクセス (->)
  • Nullsafe プロパティ アクセス (?->)
  • 静的プロパティ アクセス (::)
  • メソッド呼び出し(->)
  • Nullsafe メソッド呼び出し (?->>)
  • 静的メソッド呼び出し (::)

例:

$string = $data?->getObject()->getName() . " after";

$data が null の場合、$string は null になります。連結はチェーンの一部ではないため、「after」です。

以上がPHP 8 の Null Safe 演算子と Null Coalescing 演算子はどのようにしてオブジェクト プロパティへのアクセスを簡素化できるのでしょうか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。