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 @@ - +
-

Programmation Internet

+

Unix et Programmation Web

Cours 6

kn@lri.fr
http://www.lri.fr/~kn @@ -83,6 +85,8 @@
  • Intégration avec HTML : PHP supporte des templates (modèles/patrons) HTML contenant du PHP
  • +
  • Expose des Web simplement (ports, URL, requêtes + HTTP, …)
  • Exemple: fichier heure.php :

    Heure @@ -165,6 +169,23 @@
  • autre chose
  • +
    +

    Un mot sur les langages de programmation (subjectif)

    +
      +
    1. Il n'y a pas d'excellent langage de programmation. Par + contre il y a d'excellents programmeurs
    2. +
    3. Connaître plusieurs langages aide à devenir un bon + programmeur (en particulier plusieurs paradigmes différents : + impératifs, objet, fonctionnel, logique, déclaratif, …). +
    4. +
    5. On ne peut pas vraiment se faire plaisir en informatique + en étant un mauvais programmeur
    6. +
    7. Il y a de très mauvais langages, le plus mauvais étant + PHP
    8. +
    +
    + +

    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. +

    +