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-40. Exemple de fonction de callback

<?php

// simple callback example
function foobar() {
    echo
"hello world!";
}
call_user_function("foobar");

// method callback examples
class foo {
  function
bar() {
    echo
"hello world!";
  }
}

$foo = new foo;

call_user_function(array($foo, "bar")); // object method call

call_user_function(array("foo", "bar")); // static class method call

?>