Wann ist Methodenverkettung für neu erstellte Objekte in PHP möglich?

Susan Sarandon
Freigeben: 2024-10-18 14:58:30
Original
374 Leute haben es durchsucht

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

Verkettung von Methoden für neu erstellte Objekte in PHP

In PHP ist die Verkettung von Methoden für neu erstellte Objekte durch verschiedene Techniken möglich.

PHP 5.4:

In PHP-Versionen 5.4 und höher können Sie Methoden mithilfe von Klammern direkt aus der Objektinstanziierung heraus verketten:

(new Foo())->xyz();
Nach dem Login kopieren

PHP 5.3 und früher:

In früheren Versionen von PHP können Sie Methoden während der Objektinstanziierung nicht verketten. Sie können jedoch eine Problemumgehung verwenden, indem Sie die Instanziierung in eine statische Methode einschließen:

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

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

$a = Foo::instantiate()->xyz();
Nach dem Login kopieren

Unterschied zwischen Verkettungsmethoden:

Vor PHP 5.4, wenn Sie verwenden new Classname(); können Sie Methoden nicht direkt aus der Instanziierung heraus verketten. Diese Einschränkung ist auf die Syntax von PHP 5.3 zurückzuführen. Sobald ein Objekt instanziiert ist, können Sie Methoden frei verketten.

Auswahl der richtigen Methode:

Die PHP 5.4-Methode zum Verketten von Methoden direkt aus der Instanziierung wird aus diesem Grund bevorzugt seine Einfachheit und Eleganz. Wenn Sie PHP 5.3 oder früher unterstützen müssen, ist die statische Instanziierungsmethode eine geeignete Problemumgehung.

Das obige ist der detaillierte Inhalt vonWann ist Methodenverkettung für neu erstellte Objekte in PHP möglich?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Quelle:php
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Neueste Artikel des Autors
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage