« SPARQL Protocol and RDF Query Language/Travail pratique/PHP les fonctions » : différence entre les versions

Contenu supprimé Contenu ajouté
m Robot : Remplacement de texte automatisé (-(\<br \/\>\s?){2,} +<br>\n)
m Robot : Remplacement de texte automatisé (-(<|</)source([ \t>]) +\1syntaxhighlight\2)
Ligne 26 :
==== Définition ====
Imaginons que le code suivant est utilisé dans plusieurs pages de votre site Web :
<sourcesyntaxhighlight lang="php">
<?php
//Construisons un tableau de notes :
Ligne 35 :
}
?>
</syntaxhighlight>
</source>
 
Votre code affichera les notes d'un élève, mais on veut :
Ligne 58 :
 
Voici la coquille de la fonction pour résoudre notre problème :
<sourcesyntaxhighlight lang="php">
function colore($nombre){
//toutes les instructions se situeront à l'intérieur de ces accolades;
//et se termineront par un ;
}
</syntaxhighlight>
</source>
 
Pour écrire une fonction :
Ligne 75 :
On fait, comme si $nombre existait déjà.<br />
Voici un exemple de code qui effectue ce que l’on veut obtenir :
<sourcesyntaxhighlight lang="php">
<?php
/**
Ligne 90 :
}
?>
</syntaxhighlight>
</source>
 
On peut maintenant appeler notre fonction dans une page Web :
<sourcesyntaxhighlight lang="php">
<?php
//Construisons notre tableau de notes :
Ligne 103 :
}
?>
</syntaxhighlight>
</source>
 
Voici notre page Web en entier avec la définition de notre fonction avant l'appel de la fonction dans le code :
<sourcesyntaxhighlight lang="php">
<html>
<head><title>Notes du trimestre</title></head>
Ligne 138 :
</body>
</html>
</syntaxhighlight>
</source>
 
Bien que votre fonction se définissait avec "colore($nombre)", vous pouvez l'appeler avec "colore($note)". Cela ne pose aucun problème. Le nom de la variable utilisée comme paramètre au sein de la fonction est celui que vous voulez.
Ligne 146 :
 
Par exemple, je peux définir une fonction "moyenne annuelle" :
<sourcesyntaxhighlight lang="php">
<?php
function MoyenneAnnuelle($trim1, $trim2, $trim3){
Ligne 153 :
}
?>
</syntaxhighlight>
</source>
 
Dans ce cas, pour la convoquer, on pourra écrire :
<sourcesyntaxhighlight lang="php">
<?php
MoyenneAnnuelle(8,10,12);
Ligne 162 :
// Votre moyenne annuelle : 10
?>
</syntaxhighlight>
</source>
 
==== Valeur de retour ====
Ligne 171 :
 
Voici un formulaire de saisie et une analyse du nombre entré :
<sourcesyntaxhighlight lang="php">
<html>
<head><title>Pair ou impair ?</title></head>
Ligne 199 :
</body>
</html>
</syntaxhighlight>
</source>
 
Le mot clé '''return''' :
Ligne 214 :
 
Avec une fonction include, vous pouvez insérer le code d'un autre fichier dans votre page :
<sourcesyntaxhighlight lang="php">
<?php
include('fonctions.php');
?>
</syntaxhighlight>
</source>
ou require, qui lève une erreur s'il ne trouve pas le fichier :
<sourcesyntaxhighlight lang="php">
<?php
require('fonctions.php');
?>
</syntaxhighlight>
</source>
ou require_once, qui lève une erreur s'il ne trouve pas le fichier, mais qui ne charge qu'une fois ce fichier. Cela évite de recharger inutilement ce fichier. si require_once est appelé plusieurs pour charger le même fichier.
<sourcesyntaxhighlight lang="php">
<?php
require_once('fonctions.php');
?>
</syntaxhighlight>
</source>
Ceci vous permet d'appeler n’importe quelle fonction définie dans votre fichier.
 
 
Par exemple, vous avez développé un site et vous souhaitez sur chacune des pages signaler votre dernier magazine. Vous pourriez créer la fonction suivante :
<sourcesyntaxhighlight lang="php">
<?php
function DernierMag(){
Ligne 243 :
}
?>
</syntaxhighlight>
</source>
Dans chacune des pages de votre site où vous souhaitez que le message apparaisse, vous devrez :
* 1 ajouter la ligne suivante :
<sourcesyntaxhighlight lang="php">
<?php
DernierMag();
?>
</syntaxhighlight>
</source>
* 2 ne pas oublier d'insérer "require_once('fonctions.php');" au début de votre page.
 
Ligne 266 :
 
Exemple :
<sourcesyntaxhighlight lang="php">
<?php
switch($corpulence){
Ligne 286 :
}
?>
</syntaxhighlight>
</source>
 
Traduction :
Ligne 308 :
 
Dans le fichier formMonCV.html
<sourcesyntaxhighlight lang="html4strict">
<html>
<head><title>Mon CV</title></head>
Ligne 333 :
</body>
</html>
</syntaxhighlight>
</source>
 
Dans le fichier monCV.php
<sourcesyntaxhighlight lang="php">
<html>
<head><title>Mon CV</title></head>
Ligne 390 :
</body>
</html>
</syntaxhighlight>
</source>
}}
 
Ligne 406 :
 
Dans le fichier formMonCV.html :
<sourcesyntaxhighlight lang="html4strict">
<html>
<head><title>Mon CV</title></head>
Ligne 455 :
</body>
</html>
</syntaxhighlight>
</source>
 
Dans le fichier monCV.php
<sourcesyntaxhighlight lang="php">
<html>
<head><title>Mon CV</title></head>
Ligne 499 :
</body>
</html>
</syntaxhighlight>
</source>
 
Et voici le nouveau fichier functions.php :
<sourcesyntaxhighlight lang="php">
<?php
function afficheExperiences($arrayExperiences){
Ligne 537 :
echo 'Mots clés : <b>'. implode(', ',explode(' ',$arrayExperience['mots_cles'])) .'</b><br />';
}
</syntaxhighlight>
</source>
}}
 
Ligne 544 :
 
Insérer dans la page du formulaire le code suivant avant l’élément body :
<sourcesyntaxhighlight lang="javascript">
<script type="text/javascript">
var nb_experience = 0;
Ligne 563 :
} // function AjouteExperience()
</script>
</syntaxhighlight>
</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 :
<sourcesyntaxhighlight lang="html4strict">
Expériences professionnelles : <br />
 
<input type="button" value="Ajouter une expérience" onClick="AjouteExperience();" />
</syntaxhighlight>
</source>
 
{{solution|contenu=
Voici à quoi ressemble maintenant le fichier formMonCV.html :
<sourcesyntaxhighlight lang="html4strict">
<html>
<head><title>Mon CV</title></head>
Ligne 614 :
</body>
</html>
</syntaxhighlight>
</source>
}}
{{Bas de page