CPI/BTS 2 Programmation Web Fonctions & Includes Prog Web CPI/BTS2 – M. Dravet – 02/11/2003 Dernière modification: 02/11/2003
Les Fonctions Déclaration d’une fonction dans du code PHP: <?php function toto ($arg_1, $arg_2,..., $arg_n) { echo "Exemple de fonction.\n"; return $valeur; } ?> Tout type de code PHP et HTML peut apparaître dans une fonction.
Les Fonctions Arguments d’une fonction –Liste de variables séparées par une virgule –Par défaut les paramètres sont transmis par valeur –Possibilité de les transmettre par référence Ex: function toto(&$var) { $var.= ‘ blahblah’; } –Possibilité de passer un nombre variable d’arguments en omettant ceux-ci dans la signature de la fonction et en utilisant ensuite dans la fonction les fonctions func_num_args() et func_get_arg() et func_get_args() (voir doc PHP) –Cela revient au même que de passer en paramètre un tableau normal.
Les Fonctions Retour d’une fonction –Utilisation de la primitive ‘return’ suivi d’une variable –On peut retourner tout type de variables y compris tableaux <?php function toto() { return array (0, 1, 2); } list ($zero, $un, $deux) = toto(); ?>
Les Includes En général on utilise des fichiers PHP dédiés au ‘stockage’ des fonctions ou à l’exécution de certaines actions précises et répétitives. Ces fichiers sont comparables à des librairies Ils sont écrits de la même manière que du code PHP normal On inclut ensuite ces fichiers dans les pages PHP qui utiliseront les fonctions stockées, par les primitives include() ou require()
Les Includes Exemple: –Fichier _fonctions.php <?php function ecrire($texte) { echo “ “.$texte. “ “; } ?> –Fichier index.php <?php include ‘_fonctions.php’; ecrire(“bonjour“); ?>
Les Includes Include() génère un warning si le fichier à inclure n’existe pas ou n’est pas trouvé, mais l’exécution de la page PHP contenant l’include continue Require() arrête l’exécution du fichier PHP l’utilisant si le fichier est manquant ou non trouvé. On peut inclure des fichiers n’importe ou dans une page. L’inclusion d’un fichier veut dire que la ligne include() ou require() est remplacée par le code php du fichier inclus. Ce code est exécuté lors de l’inclusion.
Les Includes Exercice n°1 Créer un formulaire HTML qui affiche: –Une liste HTML contenant le nom de plusieurs vendeurs Martin, Dupond, Dupont, Durand, –Une liste HTML contenant des produits disponibles. La liste des produits est stockée sous forme de tableau PHP dans un autre fichier PHP à inclure avant d’alimenter la liste HTML. –Un champ texte permettant de saisir le nombre de produits à commander –Un bouton de validation. Ce formulaire une fois validé renvoie sur une page affichant le détail de la commande. Ex: Vous avez commandé 15 chaises à M. Martin.
Les Includes Création d’une liste HTML toto titi
Les Includes Exercice n°2 Reprendre l’exercice n°1 mais l’améliorer avec les fonctionnalités suivantes: –Ecriture d’une fonction générant le code HTML de la liste des produits à partir d’un nom de liste et d’un tableau de données qui lui sont fournies en paramètres –Gestion des paramètres invalides lors du passage de la commande. Ex: vous n’avez pas saisi le nombre de pièces à commander ! Ex: vous n’avez sélectionné aucun vendeur ! Ex: vous n’avez sélectionné aucun produit !