Mixed
Mixed deutet darauf hin, dass ein Parameter
mehrere (aber nicht notwendigerweise alle) Typen akzeptiert.
gettype() akzeptiert beispielsweise alle
PHP-Typen, während str_replace() Strings und
Arrays akzeptiert.
Callback
Einige Funktionen wie call_user_func() oder
usort() akzeptieren benutzerdefinierte
Callback-Funktionen als Parameter. Callback-Funktionen können
nicht nur einfache Funktionen sein, sondern auch Objektmethoden
einschließlich statischer Klassenmethoden.
Eine PHP-Funktion wird einfach durch Ihren Namen als String
übergeben. Sie können jede eingebaute oder benutzerdefinierte
Funktion übergeben mit Ausnahme von array(),
echo(), empty(),
eval(), exit(),
isset(), list(),
print() und unset().
Eine Methode eines instanzierten Objekts wird als Array
übergeben, das ein Objekt als Element mit Index 0 und einen
Methodennamen als Element mit Index 1 enthält.
Statische Klassenmethoden können auch übergeben werden, ohne ein
Objekt dieser Klasse zu instanzieren, indem statt des Objekts der
Name der Klasse als Element mit Index 0 übergeben wird.
Beispiel 6-11. Beispiele zur Callback-Funktion
<?php
// einfaches callback Beispiel function meine_callback_funktion() { echo 'hallo welt!'; } call_user_func('meine_callback_funktion');
// Beispiele für Callbackmethoden class MeineKlasse { function meineCallbackMethode() { echo 'Hallo Welt!'; } }
// Aufruf einer statischen Klassenmethode ohne Instanzierung // eines Objekts call_user_func(array('MeineKlasse', 'meineCallbackMethode'));
// Aufruf einer Objektmethode $obj = new MeineKlasse(); call_user_func(array(&$obj, 'meineCallbackMethode')); ?>
|
|