Comment lire la définition d'une fonction (prototype)

Chaque fonction dans le manuel est documentée pour permettre une compréhension rapide. Savoir décoder le texte rendra votre apprentissage plus facile. Plutôt que de dépendre d'exemples prêts en copier/coller, il est plus utile de savoir lire la définition d'une fonction (prototype). Voici comment :

Note: Pré-requis : Connaissances de base des types.

Bien que PHP soit un langage sans typage fort, une connaissance de base des types est essentielle, car ils ont quand même des sens importants.

Les définitions de fonctions vous indiquent quel type de données est retourné. Examinons la fonction strlen() comme exemple :

strlen

(PHP 4, PHP 5)
strlen -- Retourne la taille de la chaîne

Description
int strlen ( string  $string )

Retourne la taille de la chaîne $string.

Explications de la définition de la fonction
Partie Description
strlen Le nom de la fonction.
(PHP 4, PHP 5) strlen() est présente dans toutes les versions de PHP 4 et PHP 5.
int Type de valeur retournée par cette fonction, qui est, en l'occurrence, un entier (i.e. la taille d'une chaîne est mesurée par un nombre).
( string $string ) Le premier (et ici le seul) paramètre à fournir à cette fonction est le paramètre string, qui doit être du type chaîne de caractères.

Nous pourrions réécrire ce prototype avec une version plus générique :

type_retourné   nom_de_la_fonction    ( type_du_paramètre nom_du_paramètre )

Plusieurs fonctions ont besoin de plusieurs paramètres, comme in_array(). Son prototype est le suivant :

bool in_array ( mixed $needle, array $haystack [, bool $strict])

Qu'est ce que cela signifie ? in_array() retourne un booléen TRUE en cas de réussite (le paramètre needle a été trouvé dans le tableau haystack) ou FALSE si une erreur survient (le paramètre needle n'a pas été trouvé dans le tableau haystack). Le premier paramètre s'appelle needle et il peut être de différents types : il porte donc la mention mixed. Le paramètre needle (ce que nous recherchons) peut être une valeur scalaire ( chaîne de caractères, entier, ou float), ou encore un array. haystack (le array, dans lequel nous recherchons) est le second paramètre. Le troisième paramètre, optionnel, strict, est optionnel. Tous les paramètres optionnels sont placés entre [ crochets ]. La manuel indique que le paramètre strict vaut par défaut FALSE. Reportez-vous au manuel de chaque fonction pour savoir comment elle fonctionne.

Il y'a aussi des fonctions avec des informations plus complexes concernant les versions de PHP. Prenons html_entity_decode() comme exemple :

(PHP 4 >= 4.3.0, PHP 5)

Cela signifie que cette fonction n'est disponible que depuis PHP 4.3.0.

add a note add a note

User Contributed Notes 2 notes

up
2
php dot devel at homelinkcs dot com
8 years ago
More specifically, an ampersand (&) prepended to an argument name means that the argument will be passed by reference (http://www.php.net/manual/en/language.references.pass.php).
up
1
ceo at l-i-e dot com
9 years ago
Another thing to watch for is the & in the argument list.

That generally means that the function is going to *CHANGE* the value you pass in, in some way, and you can't rely on it being the same as what you handed off to the function.
To Top