X-Git-Url: http://git.nguyen.vg/gitweb/?a=blobdiff_plain;f=unix_prog_web%2Funix_prog_web_06.xhtml;h=ecdcfdc99c870e2750607dea4628fcb56c64c0b8;hb=974b232a2c493d5e599c51af0fb85a354d5f2b3a;hp=892c59ad6fe7c053cee93323e64ef9934cb0f76f;hpb=0a552a95e70324a04e9d06bd30ac5bc96b2a58b5;p=hacks%2FsimpleWebSlides.git
diff --git a/unix_prog_web/unix_prog_web_06.xhtml b/unix_prog_web/unix_prog_web_06.xhtml
index 892c59a..ecdcfdc 100644
--- a/unix_prog_web/unix_prog_web_06.xhtml
+++ b/unix_prog_web/unix_prog_web_06.xhtml
@@ -14,6 +14,8 @@
+
+
@@ -35,10 +37,10 @@
-
+
+
+
Un mot sur les langages de programmation (subjectif)
+
+ - Il n'y a pas d'excellent langage de programmation. Par
+ contre il y a d'excellents programmeurs
+ - Connaître plusieurs langages aide à devenir un bon
+ programmeur (en particulier plusieurs paradigmes différents :
+ impératifs, objet, fonctionnel, logique, déclaratif, â¦).
+
+ - On ne peut pas vraiment se faire plaisir en informatique
+ en étant un mauvais programmeur
+ - Il y a de très mauvais langages, le plus mauvais étant
+ PHP
+
+
+
+
Types de base et expressions simples
Entiers (integer)
@@ -505,6 +526,183 @@ données du formulaires sont envoyées au serveur. Exemple, fichier
]]>
+
+
+ Définitions de fonctions
+
+
+
Fonctions
+
Les fonctions sont déclarées à l'aide du
+ mot-clé function. On renvoie des résultats Ã
+ l'aide du mot-clé return.
+
function double ($x)
+ {
+ return $x + $x;
+ }
+
+ echo double(10);
+ ]]>
+
+
+
+
+
+
Portée des variables locales et globales
+ ⚠
+
+
+
+ <?php
+ $a = 42;
+ function add_a($x)
+ {
+
+ return $x + $a;
+ }
+ echo add_a(10);
+ ?>
+
+
+
+ <?php
+ $a = 42;
+ function add_a($x)
+ {
+ global $a;
+ return $x + $a;
+ }
+ echo add_a(10);
+ ?>
+
+
+
+
+
+
Le code de gauche affiche 10 !
+ Les variables ont une portée locale
+ par défaut. Si $a n'est pas définie dans le corps de la
+ fonction, sa valeur est NULL
+ (variable non définie). Pour référencer
+ des variables globales, on utilise le mot clé global.
+
+
+
+
Fonction : définition ⚠
+
On peut utiliser une fonction « avant » de la définir :
+
<?php
+ echo next(10);
+ echo <br/>;
+
+ function next($x)
+ {
+ return $x + 1;
+ }
+ ?>
+
On définira toujours des fonctions avant de
+ les utiliser. On ne peut pas définir deux fonctions avec le même
+ nom.
+
+
+
+
Fonctions : passage par référence
+
+
+ <?php
+ function add_a($tab)
+ {
+ $tab["a"] = 42;
+ }
+
+ $mytab = array();
+ add_a($mytab);
+ echo $mytab["a"];
+ //n'affiche rien (car NULL â "")
+?>
+
+
+ <?php
+ function add_a(&$tab)
+ {
+ $tab["a"] = 42;
+ }
+
+ $mytab = array();
+ add_a($mytab);
+ echo $mytab["a"];
+ //affiche 42
+?>
+
+
+
+
+
On utiliser le modificateur & devant
+ un paramètre de fonction pour indiquer que ce dernier est passé
+ par référence.
+
+
Lorsque l'on veut modifier un argument de la
+ fonction (plutot que de renvoyer une version modifiée, par
+ ex. mise à jour d'un tableau, d'une chaîne, â¦), on doit le
+ passer par référence.
+
+