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

Susan Sarandon
リリース: 2024-10-18 14:58:41
オリジナル
714 人が閲覧しました

How to Chain Methods on Newly Created Objects in PHP

Chaining Methods on Newly Created Objects in PHP

In PHP, there is a common desire to chain methods on a newly created object, similar to the example shown below:

<code class="php">class Foo {
    public function xyz() { ... return $this; }
}

$my_foo = new Foo()-&gt;xyz();</code>
ログイン後にコピー

PHP 5.4+ Solution

Starting in PHP 5.4, a change in the parser allows for chaining methods on newly created objects. This can be achieved by wrapping the instantiation in parentheses:

<code class="php">(new Foo())-&gt;xyz();</code>
ログイン後にコピー

Pre-PHP 5.4 Solution

Prior to PHP 5.4, chaining methods on newly created objects was not possible directly using the new Classname(); syntax. However, there are workarounds to accomplish this:

Static Instantiation Method

One common approach is to create a static instantiation method within the class. This method can then be used to instantiate the class with an initial method call:

<code class="php">class Foo
{
    public function xyz()
    {
        echo "Called","\n";
        return $this;
    }

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


$a = Foo::instantiate()-&gt;xyz();</code>
ログイン後にコピー

By wrapping the instantiation in a static method, you can achieve the desired chaining behavior.

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

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