首頁  >  文章  >  後端開發  >  PHP 中何時可以在新建立的物件上進行方法連結?

PHP 中何時可以在新建立的物件上進行方法連結?

Susan Sarandon
Susan Sarandon原創
2024-10-18 14:58:30376瀏覽

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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn