Forums Développement Multimédia

Les formations Mediabox
Les formations Mediabox



Faire ses propres fonctions avec PHP : Troisième Partie

Compatible PHP. Cliquer pour en savoir plus sur les compatibilités.Par zebden (Anthony Lombard), le 24 décembre 2007

Nous avons donc vu deux utilités différentes d'utiliser une fonction( 1 et 2), pour cette troisième et avant dernière partie, nous allons voir les fonctions retournant un type boolean, à savoir soit TRUE, soit FALSE. L'utilité de ce genre de fonction est de pouvoir tester des valeurs et pouvoir ensuite les utiliser dans nos if (pour prendre un exemple bien parlant). Mais il faut aussi préciser, que dans notre fonction, il n'est pas nécessaire qu'elle soit une fonction de test, on peut très bien agir sur une chaîne, pour renvoyer TRUE en cas de succès et FALSE, en cas d'échec. Donc les possibilités sont finalement infinies.

Note : Petit rappel si on a if(TRUE) alors on exécute la condition, si nous avons if(FALSE) alors, naturellement, nous ne l'exécutons pas. Simplissime donc. Et surtout, dit dans la première partie, return met fin à l'exécution de la fonction.

Voyons un exemple tout fait basic sur le test d'un email :

<?php
function isEmailValid($monEmail = '') {
 
	// On vérifie la variable $monEmail n'est pas vide
	// On aurait très bien pu ne mettre aucune valeur par défaut à $monEmail.
	// C'est juste pour montrer aussi l'intérêt d'un retour FALSE.
	if(empty($monEmail)) {
 
		// ECHEC.
		// Fin d'execution de la fonction.
		return FALSE;
		}
 
	// On va tester la chaîne grâce aux expressions régulières.
	// Si vous ne comprenez pas cette notion, 
	// dites vous juste que l'on vérifie si l'email est bien formé.
	// Masque tiré du site REGEXP.COM
 
	$masque  = '`^[[:alnum:]]([-_.]?[[:alnum:]])*';
	$masque .= '@[[:alnum:]]([-_.]?[[:alnum:]])*\.([a-z]{2,4})$`';
	if(preg_match($masque, $monEmail)) {
 
		// Succès
		// l'email est bien formé.
		return TRUE;
		}
 
	// ECHEC PAR DEFAUT
	return FALSE;
	}
 
 
/// Dans notre utilisation 
$email = 'toto@test.fr';
 
if(isEmailValid($email)) {
// Il est valide, je rentre dans la condition
echo 'L\'email testé est valide';
}
else {
// Non valide, message d'erreur.
echo 'L\'email testé est invalide, passez votre chemin';
}
 
/* 
Ici, notre email est valide, 
nous avons donc comme message : "L'email testé est valide"
Si nous avions eu toto.test.fr ou autre chaine qui n'a pas la synthaxe d'un mail
nous aurions eu l'autre message
*/
?>

Je pense que l'exemple parle de lui-même, les possibilités sont énormes voir infinies, mais ça sera toujours plus adéquat en Programmation Orienté Objet, mais on y reviendra plus en détail sur cette méthode de programmation. Je vous invite à faire des tests de toute sorte pour bien comprendre.

Dans la dernière partie, nous verrons d'autres notions liées aux fonctions, comme les mots clés global ou static. Les fonctions recursives, bien plus utiles, qu'elles n'y paraissent.

À suivre ...

Article orginal sur http://www.zebden.fr/index.php?2006/04/14/14-faire-ses-propres-fonctions-avec-php-troisieme-partie