Jak zarejestrować funkcję callback, która jest metodą w klasie?

Z PHPEdia.pl
Skocz do: nawigacji, wyszukiwania

Aby zarejestrować funkcję callback (zwrotną), będącą metodą w klasie, tworzymy tablice, której pierwszym elementem jest obiekt danej klasy (nie wartość string z jej nazwą!), zaś drugim nazwa metody (jako string).

<?php
 
class CallbackTest {
   function test() {
      // zarejestrowaną funkcją będzie metoda klasy CallbackTest (zmienna $this przechowuje referencję 
      // do obiektu klasy wewnątrz której jesteśmy)
      preg_replace_callback("wyrażenie regularne", array($this, 'callbackFunction'), $dane);
   }
 
   function callbackFunction($matches) {
      // kod
   }
}
 
?>

Jest to element FAQ, czyli zestawienia odpowiedzi na najczęściej zadawane pytania.

Zestawienie: Informacje | Podstawy PHP | Porady praktyczne | Pytania z forum | Bezpieczeństwo