„Wenn ein Arbeiter seine Arbeit gut machen will, muss er zuerst seine Werkzeuge schärfen.“ – Konfuzius, „Die Gespräche des Konfuzius. Lu Linggong“
Titelseite > Programmierung > So übergeben Sie Klassenmethoden als Rückrufe: Mechanismen und Techniken verstehen

So übergeben Sie Klassenmethoden als Rückrufe: Mechanismen und Techniken verstehen

Veröffentlicht am 06.11.2024
Durchsuche:975

How to Pass Class Methods as Callbacks: Understanding Mechanisms and Techniques

So übergeben Sie Klassenmethoden als Rückrufe

Hintergrund

In einigen Szenarien müssen Sie aus Effizienzgründen möglicherweise Klassenmethoden als Rückrufe an andere Funktionen übergeben Ausführung konkreter Aufgaben. Dieser Artikel führt Sie durch die verschiedenen Mechanismen, um dies zu erreichen.

Verwenden der aufrufbaren Syntax

Um eine Funktion als Rückruf zu übergeben, können Sie ihren Namen direkt als Zeichenfolge angeben. Diese Methode ist jedoch nicht auf Klassenmethoden anwendbar.

Übergeben von Instanzmethoden

Klasseninstanzmethoden können als Rückrufe mithilfe eines Arrays mit dem Objekt als erstem Element und dem Methodennamen als übergeben werden zweite. Dieser Ansatz funktioniert sowohl innerhalb als auch außerhalb derselben Klasse.

// Inside the same class
$this->processSomething([$this, 'myCallback']);
$this->processSomething([$this, 'myStaticCallback']);

// Outside the same class
$myObject->processSomething([new MyClass(), 'myCallback']);
$myObject->processSomething([new MyClass(), 'myStaticCallback']);

Übergabe statischer Klassenmethoden

Statische Klassenmethoden erfordern keine Objektinstanz. Sie können direkt als Array übergeben werden, das den Klassennamen und den Methodennamen enthält.

// Inside the same class
$this->processSomething([__CLASS__, 'myStaticCallback']);

// Outside the same class
$myObject->processSomething(['\Namespace\MyClass', 'myStaticCallback']);
$myObject->processSomething(['\Namespace\MyClass::myStaticCallback']); // PHP 5.2.3 
$myObject->processSomething([MyClass::class, 'myStaticCallback']); // PHP 5.5.0 

Zusätzliche Optionen

Neben den genannten Methoden können Sie auch anonyme Funktionen als Callbacks übergeben, dies erfordert jedoch möglicherweise Änderungen an Ihrer Codestruktur.

Freigabeerklärung Dieser Artikel wird reproduziert unter: 1729345515 Wenn ein Verstoß vorliegt, wenden Sie sich bitte an [email protected], um ihn zu löschen.
Neuestes Tutorial Mehr>

Haftungsausschluss: Alle bereitgestellten Ressourcen stammen teilweise aus dem Internet. Wenn eine Verletzung Ihres Urheberrechts oder anderer Rechte und Interessen vorliegt, erläutern Sie bitte die detaillierten Gründe und legen Sie einen Nachweis des Urheberrechts oder Ihrer Rechte und Interessen vor und senden Sie ihn dann an die E-Mail-Adresse: [email protected] Wir werden die Angelegenheit so schnell wie möglich für Sie erledigen.

Copyright© 2022 湘ICP备2022001581号-3