ホームページ >バックエンド開発 >PHPチュートリアル >PHP で新しく作成されたオブジェクトのメソッド チェーンが可能になるのはいつですか?

PHP で新しく作成されたオブジェクトのメソッド チェーンが可能になるのはいつですか?

Susan Sarandon
Susan Sarandonオリジナル
2024-10-18 14:58:30377ブラウズ

When is Method Chaining on Newly Created Objects Possible in PHP?

PHP で新しく作成されたオブジェクトのメソッドをチェーンする

PHP では、さまざまな手法を使用して、新しく作成されたオブジェクトのメソッドをチェーンすることができます。

PHP 5.4 :

PHP バージョン 5.4 以降では、かっこを使用してオブジェクトのインスタンス化から直接メソッドをチェーンできます:

(new Foo())->xyz();

PHP 5.3 以前:

PHP の以前のバージョンでは、オブジェクトのインスタンス化中にメソッドをチェーンすることができません。ただし、インスタンス化を静的メソッドでラップすることで回避策を使用できます:

class Foo
{
    public function xyz()
    {
        return $this;
    }

    static public function instantiate()
    {
        return new self();
    }
}

$a = Foo::instantiate()->xyz();

チェーン メソッド間の違い:

PHP 5.4 より前では、次のように使用します。 new Classname(); の場合、インスタンス化から直接メソッドをチェーンすることはできません。この制限は、PHP 5.3 の構文によるものです。オブジェクトがインスタンス化されると、メソッドを自由にチェーンできます。

適切なメソッドの選択:

インスタンス化からメソッドを直接チェーンする PHP 5.4 の方法が推奨されます。そのシンプルさと優雅さ。 PHP 5.3 以前をサポートする必要がある場合は、静的インスタンス化メソッドが適切な回避策です。

以上がPHP で新しく作成されたオブジェクトのメソッド チェーンが可能になるのはいつですか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

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