Valid XHTML     Valid CSS2    

Listing du fichier l2aprog03.php

 

00001     <?php
00002     
00003     #    (gH)   -_-  l2aprog03.php  ;  TimeStamp (unix) : 20 Février 2013 vers 14:43
00004     
00005     error_reporting
(E_ALL E_NOTICE E_STRICT ) ;
00006     
00007     ###########################################################################
00008     #                                                                         #
00009     # exemple de programme php pour le cours Développement Web Avancé en L2   #
00010     #                                                                         #
00011     ###########################################################################
00012     #                                                                         #
00013     #                                                                         #
00014     #     Fonctions et Paramètres                                             #
00015     #                                                                         #
00016     #                                                                         #
00017     ###########################################################################
00018     
00019     # une fonction pour afficher les pourcentages entre 0 et 100
00020     
00021     function 
pct($nombre) {
00022     
00023       if (($nombre
>=0) and ($nombre<=100)) {
00024         echo sprintf
("%6.2f",$nombre)."&nbsp;%\n" ;
00025       } else {
00026         echo "??????&nbsp;%\n" 
# affichage choisi pour une valeur non valide
00027                                  # autre choix possible: -1 % !! (à discuter)
00028       } ; 
# fin si
00029     
00030     
# fin de fonction pct
00031     
00032     # tests unitaires
00033     
00034     pct
(1/3)         ; # réussi par affichage
00035     pct
(200)         ; # réussi
00036     pct
("erreur")    ; # discutable (1)
00037     pct
("2 erreurs") ; # discutable (2)
00038     
00039     # reprise de pct avec un nombre variables de décimales
00040     # (une décimale par défaut)
00041     
00042     function 
pctd($nombre,$dec=1) {
00043     
00044       # attention, fonction incomplète : il faudrait tester que la variable $nombre
00045       # est bien un nombre et que $dec est bien un entier
00046     
00047       if ((
$nombre>=0) and ($nombre<=100)) {
00048         echo sprintf
("%6.".$dec."f",$nombre)."&nbsp;%\n" ;
00049       } else {
00050         echo "??????&nbsp;%\n" 
;
00051       } ; # fin si
00052     
00053     
# fin de fonction pct
00054     
00055     # tests unitaires
00056     
00057     pctd
(1/3)           ; # réussi
00058     pctd
(1/7,2)         ; # réussi
00059     
00060     # définitions de tableaux
00061     
00062     $tab1    
= array()   ; # aligner les = et les ;
00063     $tab1
[0] = "janvier" # fait "vieille fille" mais montre au lecteur/lectrice
00064     $tab1
[1] = "février" # le soin que l'on prend à
00065     $tab1
[2] = "mars"    # écrire le code ==> l'auteur n'est pas fainéant(e)
00066     
00067     # mieux car on peut changer l'ordre les lignes facilement
00068     
00069     $tab2 
= array()      ;
00070     $idx  
= -;
00071     $idx
++ ; $tab2[$idx] = "pierre"  ;
00072     $idx
++ ; $tab2[$idx] = "paul"    ;
00073     $idx
++ ; $tab2[$idx] = "jacques" ;
00074     
00075     # une fonction pour créer un tableau aléatoirement avec des entiers entre 1 et 50
00076     # la taille du tableau est passée en paramètre, 10 valeurs par défaut
00077     
00078     function 
tabAleat($taille=10) {
00079     
00080       $leTab 
= array() ;
00081       for ($idx
=0;$idx<$taille;$idx++) {
00082         $valAleat    
rand(1,50) ;
00083         $leTab
[$idx] = $valAleat ;
00084       } ; # fin pour idx
00085     
00086       return(
$leTab) ;
00087     
00088     } # fin de fonction tabAleat
00089     
00090     # test unitaire (réussi par vérification de l'affichage) :
00091     
00092     $unTableau 
tabAleat() ;
00093     print_r
($unTableau) ;
00094     echo " dans ce tableau, min = "
.min($unTableau)." max = ".max($unTableau)."\n" ;
00095     
00096     # une fonction pour page Web qui affiche un "array" en <table>
00097     
00098     function 
array2table($leTableau) {
00099     
00100       echo "<table cellpadding='5' cellspacing='5' class='quadrillage'>\n" 
;
00101       $nbe 
count($leTableau) ; # nbe = NomBre d'Eléments
00102       echo 
"  <tr>\n" ;
00103       echo "     <th align='right'>Indice</th>\n" 
;  # th, pas td
00104       echo 
"     <th align='right'>Valeur</th>\n" ;  # th, pas td
00105       echo 
"  </tr>\n" ;
00106       for ($idx
=0;$idx<$nbe;$idx++) {
00107         echo "  <tr>\n" 
;
00108         $jdx   
$idx ;
00109         $elt   
$leTableau[$idx] ;
00110         echo "     <td align='right'> 
$idx </td>\n" ;
00111         echo "     <td align='right'> 
$elt </td>\n" ;
00112         echo "  </tr>\n" 
;
00113       } ; # fin pour idx
00114       echo 
"</table>\n" ;
00115     
00116     } # fin de array2table
00117     
00118     # test unitaire réussi
00119     
00120     array2table
tabAleat(5) ) ;
00121     
00122     # test unitaire raté
00123     
00124     array2table
"ok ?" ) ;
00125     
00126     # une liste de sélection des jours de la semaine
00127     
00128     $jours  
"lundi mardi mercredi jeudi vendredi" ;
00129     $tabj   
preg_split("/\s+/",$jours) ;
00130     
00131     $numj   
;
00132     echo "<select name='jourRDV'>\n" 
;
00133     foreach ($tabj 
as $jour) {
00134       $numj
++ ;
00135       echo "  <option value='
$numj'>$jour</option>\n" # remarquer l'indentation
00136     
# fin pour chaque
00137     echo 
"</select>\n" ;
00138     
00139     ?>

La coloration syntaxique est réalisée par un enrobage de la function php nommée highlight_file

mais si vous préférez, vous pouvez utiliser celle de SyntaxHighlighter ou même celle de geshi.

Pour ne pas voir les numéros de ligne, ajoutez &nl=non à la suite du nom du fichier.

 

 

retour gH    Retour à la page principale de   (gH)