Gibt es eine Möglichkeit PHP5 __call () magische Methode in PHP4 zu emulieren?

StackOverflow https://stackoverflow.com/questions/76328

  •  09-06-2019
  •  | 
  •  

Frage

PHP5 hat eine „magische Methode“ __call()that kann für jede Klasse definiert werden, die aufgerufen wird, wenn ein nicht definierter Methode aufgerufen wird - es entspricht in etwa Rubys method_missing oder Perl AUTOLOAD. Ist es möglich, so etwas wie dies in älteren Versionen von PHP zu tun?

War es hilfreich?

Lösung

In diesem Artikel, Verwendung Methodenaufruf überladen in PHP 4 über auf DevShed helfen könnte.

Andere Tipps

Das wichtigste Bit, dass ich fehlte, dass __call in PHP4 existiert, aber man muss es auf einer Basis pro-Klasse ermöglichen, indem overload() Aufruf, wie in php docs hier . Leider ist der __call () Funktion Signaturen unterschiedlich zwischen PHP4 und PHP5, und es scheint nicht ein Weg, um eine Implementierung zu machen, die in beide laufen werden.

Ich erinnere mich, mit ihm, und ein bisschen googeln legt nahe, dass

function __call($method_name, $parameters, &$return)
{
  $return_value = "You called ${method_name}!";
}

als Member-Funktion wird die Arbeit tun.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top