Pseudo-types utilisés dans cette documentation

mixed

mixed indique qu'un paramètre accepte plusieurs types, mais pas forcément tous les types.

gettype() par exemple, accepte tous les types de variables PHP, mais str_replace() n'accepte que des chaîne de caractères et des tableau.

number

number indique qu'un paramètre peut être du type entier ou nombre à virgule flottante.

callback

Certaines fonctions comme par exemple call_user_function() ou usort() accepte une fonction définie par l'utilisateur comme fonction de callback. Les fonctions de callback peuvent être des fonctions simples, mais aussi des objets ou des méthodes statiques de classe.

Une fonction PHP est passée simplement en indiquant son nom, sous forme de chaîne de caractères. Vous pouvez passer une fonction intégrée au langage, ou une fonction définie par vos soins, à l'exception de array(), echo(), empty(), eval(), exit(), isset(), list(), print() et unset().

Une méthode d'un objet instancié est passée sous forme de tableau, contenant un objet comme élément d'index 0, et un nom de méthode comme élément 1.

Les méthodes statiques de classe peuvent aussi être passées dans l'objet instancié, mais en passant le nom de la classe comme valeur de l'index 0.

Exemple 6-43. Exemple de fonction de callback

<?php

// Exemple simple de fonction de callback
function foobar() {
    echo
"Bonjour le monde!";
}
call_user_function("foobar");

// Exemple de méthode de callback
class foo {
  function
bar() {
    echo
"Bonjour le monde!";
  }
}

$foo = new foo;

call_user_function(array($foo, "bar")); // appel d'une méthode d'objet

call_user_function(array("foo", "bar")); // appel d'une méthode statique de classe

?>