« SPARQL Protocol and RDF Query Language/Travail pratique/PHP les fonctions » : différence entre les versions
Contenu supprimé Contenu ajouté
m Robot : Changement de type cosmétique |
m Relecture |
||
Ligne 1 :
{{Travail pratique présentation
{{ébauche informatique}}▼
| objectif1 = utiliser les fonctions
| durée = 1,5 heure
| matériel1 = un serveur Web Linux avec PHP.
}}
<div style="float:right; padding: 0 0 0 1em;">__TOC__</div>
{{Travail pratique
| titre = Les fonctions
Ligne 9 ⟶ 14 :
| précédent = [[../PHP les boucles et opérateurs/]]
| suivant = [[../PHP avec MySQL/]]
| niveau =
}}
== Introduction ==
Dans ce TP, nous allons acquérir quelques bases de programmation PHP pour utiliser des fonctions.
Ce TP a pour objectif de pouvoir utiliser des librairies de fonctions plus facilement par la suite.
== A savoir avant de commencer ==
▲* l'instruction switch
=== Les fonctions ===
==== Définition ====
Ligne 45 ⟶ 37 :
</source>
Votre code affichera les notes d'un élève, mais on veut :
*mettre en rouge toutes les notes (strictement) inférieures à 10.
*mettre en vert toutes les notes supérieures (ou égales) à 15.
Ligne 61 ⟶ 53 :
*On place la fonction au début du code(au sein de balises PHP).
**PHP ne parcourt qu'une seule fois le code. Si la fonction n'est pas définie avant son utilisation, PHP génère une erreur.
*'''On ne la crée qu'une fois, tandis qu'on la convoque autant de fois que l'on veut.'''
==== Syntaxe ====
Ligne 76 ⟶ 68 :
*il est obligatoire de commencer par écrire '''function''',
*ensuite vient '''le nom'''. On va lui donner un nom simple à retenir.
**comme les variables, les noms de fonctions sont libres, il faut
**le nom de votre fonction est sensible à la casse, c'est-à-dire que vous devenez respecter les majuscules et les minuscules quand vous appelez votre fonction.
*Et, entre
On fait, comme si $nombre existait déjà.<br />
Voici un exemple de code qui effectue ce
<source lang="php">
<?php
Ligne 113 ⟶ 105 :
</source>
Voici notre page Web en entier avec la définition de notre fonction avant l'
<source lang="php">
<html>
Ligne 148 ⟶ 140 :
</source>
Bien que votre fonction se définissait avec "colore($nombre)", vous pouvez l'appeler avec "colore($note)".
==== Plusieurs paramètres ====
Ligne 173 ⟶ 165 :
==== Valeur de retour ====
Si on ne veut pas une fonction qui affiche, mais une fonction qui, par exemple, calcule et renvoie une valeur, '''on utilisera le mot clé return'''.
Par exemple, réalisons une fonction qui nous indique si un nombre est pair ou impair
Voici un formulaire de saisie et une analyse du nombre entré :
<source lang="php">
<html>
<head><title>
<body>
<?php //fonction qui fait le diagnostic
Ligne 211 ⟶ 203 :
Le mot clé '''return''' :
*stoppe la fonction
**on peut le placer à tout moment dans la fonction, mais pour une
*ne peut renvoyer qu'une seule valeur
**libre à vous de rendre cette valeur complexe comme un tableau ou un objet.
Ligne 218 ⟶ 210 :
==== Importer des fonctions ====
Si votre fonction est utilisée dans au moins deux pages Web, '''vous pouvez
Il vous suffit de '''convoquer le fichier une seule fois au tout début de chacune de vos pages PHP'''.
Avec une fonction include, vous pouvez insérer le code d'un autre fichier dans votre page :
<source lang="php">
<?php
Ligne 227 ⟶ 219 :
?>
</source>
ou require, qui lève une erreur s'il ne trouve pas le fichier :
<source lang="php">
<?php
Ligne 233 ⟶ 225 :
?>
</source>
ou require_once, qui lève une erreur
<source lang="php">
<?php
Ligne 254 ⟶ 246 :
Dans chacune des pages de votre site où vous souhaitez que le message apparaisse, vous devrez :
* 1
<source lang="php">
<?php
Ligne 260 ⟶ 252 :
?>
</source>
* 2
Ligne 266 ⟶ 258 :
{{remarque|contenu=
La fonction
}}
=== La commande switch ===
La commande switch gère les conditions multiples. Cela évite d'utiliser inutilement d'imbriquer les instructions if, elseif et else.
Exemple :
Ligne 300 ⟶ 291 :
*Dans le cas (case) où la variable $corpulence est égale à :
**'denutrition' alors affecter le texte 'Vous êtes en dénutrition.' à la variable $verdict
**'maigre' alors affecter une autre valeur à $verdict
**une autre valeur que 'denutrition' ou 'maigre' alors les instructions dans le cas Default seront utilisées
*'''On sait que ces conditions s'excluent l'une l'autre grâce à l'instruction break'''
== Exercices ==
=== Lecture d'une liste depuis un formulaire ===
On veut qu’un utilisateur puisse mettre autant de mots-clés qu’il souhaite par expérience dans son CV.
*Vous allez laisser un seul champ pour les mots clés
*Utiliser la function explode($separateur,$text) pour convertir cette liste en un tableau.
*Afficher les mots-clés dans le CV,
*Si vous
echo print_r($mots_cles) {{solution|contenu=
Ligne 403 ⟶ 395 :
=== Gestion d'un formulaire dynamique ===
On veut qu’un utilisateur puisse
Il faut que PHP enregistre, dans des tableaux, les données de toutes les expériences envoyées par un formulaire.
*
*
*Dans un fichier
*Utiliser cette fonction pour afficher le CV.
{{solution|contenu=
Ligne 512 ⟶ 503 :
</source>
Et voici le nouveau fichier functions.php :
<source lang="php">
<?php
Ligne 552 ⟶ 543 :
=== Création du formulaire dynamique ===
Maintenant qu’on peut afficher '''n''' expériences dans un CV
Insérer dans la page du formulaire le code suivant avant l’élément body :
Ligne 576 ⟶ 567 :
</source>
Pour indiquer la zone "où insérer les champs pour décrire son expérience et le bouton insérer", on remplace les précédents champs de texte par le code suivant :
<source lang="html4strict">
Expériences professionnelles : <br />
Ligne 584 ⟶ 575 :
{{solution|contenu=
Voici à quoi ressemble maintenant le fichier formMonCV.html :
<source lang="html4strict">
<html>
Ligne 629 ⟶ 620 :
[[Catégorie:SPARQL Protocol and RDF Query Language]]
{{Bas de page
| leçon = TP SPARQL
| précédent = [[../PHP les boucles et opérateurs/]]
| suivant = [[../PHP avec MySQL/]]
}}
|