Novembre 2005 – Michel Desconnets PHP : théorie Objectif : introduire les concepts globaux permettant d'aborder la programmation en PHP
Novembre 2005 – Michel Desconnets Le protocole HTTP Objectif : mieux comprendre la notion de client-serveur
Novembre 2005 – Michel Desconnets Généralités HyperText Transfer Protocol Protocole de base d'Internet. Permet de demander et de recevoir des documents Notion de requête HTTP Notion de réponse HTTP
Novembre 2005 – Michel Desconnets Principe Serveur web Client Navigateur Requête HTTP Réponse HTTP Toute la communication entre le client et le serveur se fait par une requête HTTP qui entraîne une réponse HTTP.
Novembre 2005 – Michel Desconnets Une requête HTTP GET HTTP/1.1 Accept : text/html if-Modified-Since : Saturday, 15-January :37:11 GMT User-Agent : Mozilla/5.0 (compatible; MSIE 6.0; Windows NT) POST /form_res/login.php HTTP/1.1 Host: localhost Content-Type: application/x-www-form-urlencoded Content-Length: 26 login=gsmet&password=xxxxx
Novembre 2005 – Michel Desconnets Présentation de PHP Objectif : comprendre les objectifs de PHP et ce qu'il peut apporter
Novembre 2005 – Michel Desconnets Objectifs premiers PHP est un langage de script côté serveur Il permet d'apporter de la logique, du dynamisme (interfaçage avec des bases de données) aux pages web Il ne remplace en aucun cas le HTML La simplicité d'utilisation est une des priorités du PHP Group
Novembre 2005 – Michel Desconnets Moteur PHP
Novembre 2005 – Michel Desconnets Présentation La dernière version de PHP disponible est la version 5.0.5, non finalisé, et la La version 5 propose notamment une couche objet améliorée PHP se repose sur le moteur Zend PHP dispose de nombreuses extensions mettant énormément de fonctions à disposition
Novembre 2005 – Michel Desconnets Les bases Langage non typé Syntaxe très proche du C Le PHP s'intègre à la page HTML et se délimite par les balises L'extension couramment utilisée pour les fichiers est l'extension.php
Novembre 2005 – Michel Desconnets Un exemple pour fixer les idées Un petit exemple : La date <?php echo "La date du jour : "; echo date("d/m/Y"); ?>
Novembre 2005 – Michel Desconnets Les variables 1/ Les variables sont notées $nom Les variables ont une portée définie par leur contexte Une variable définie dans le contexte global n'est pas visible dans une fonction Une variable définie dans une fonction n'existe qu'à l'intérieur de cette fonction PHP définit des variables globales ($_SESSION, $_GET,…) que nous verrons plus tard.
Novembre 2005 – Michel Desconnets Les variables 2/ Une variable peut être une chaîne, un tableau, un entier … Les chaînes : $chaine = "blabla"; $chaine = 'blabla'.$chaine; $chaine = "blabla $chaine"; Les entiers : $entier = 4;
Novembre 2005 – Michel Desconnets Les variables 3/ Les tableaux : $tableau = array('couleur'=>'bleu', 'nom'=>'ciel'); $tableau['ciel']['couleur'] = 'bleu'.$chaine; Les tableaux sont TRES utilisés en PHP. Ils n'ont pas de dimension fixe, sont multidimensionnels… C'est vraiment une structure très souple.
Novembre 2005 – Michel Desconnets Variables Globales Toute variable passée dans l'URL est accessible via le tableau global $_GET Toute variable passée par un formulaire POST est accessible via le tableau global $_POST Il existe aussi $_SERVER, $_SESSION…
Novembre 2005 – Michel Desconnets Expressions booléennes
Novembre 2005 – Michel Desconnets Les structures de contrôle On retrouve les structures classiques : if(condition) {…} elseif(condition2) {…} else {…} while(condition) {…} for($i=0; $i<12; $i++) {…} switch $variable { case 3 : … }
Novembre 2005 – Michel Desconnets Les structures de contrôle Et des structures plus spécifiques : foreach($tableau AS $cle => $element) { echo $cle.' : '.$element.' \n'; } La boucle foreach est très utilisée couplée à l'utilisation de tableaux associatifs
Novembre 2005 – Michel Desconnets Les fonctions function test($argument1, $argument2) { echo 'test'; return 1; } $boolean = test(); Les fonctions permettent de factoriser le code. Il est très important d'apprendre à les utiliser PHP4 dispose également d'une couche objet que nous ne détaillerons pas ici.
Novembre 2005 – Michel Desconnets Les inclusions PHP permet d'inclure une page à l'intérieur d'une autre. Permet de factoriser le code en se construisant des bibliothèques de fonctions, des en-têtes et des pieds de page… include('../lib.php'); include('../entete.html'); Les inclusions permettent de simplifier la gestion d'un site
Novembre 2005 – Michel Desconnets Les fonctions de PHP PHP propose des fonctions pour réaliser pratiquement tout ce qui peut nous passer par la tête. Ces fonctions sont détaillées dans la documentation. On les appelle de manière classique On peut citer : mail pour envoyer un mail, sort pour trier un tableau…
Novembre 2005 – Michel Desconnets La notion de session La session permet de faire persister des données relatives à un visiteur côté serveur. C'est ce qu'on utilise par exemple pour un panier, un site avec login… session_start() le tableau global $_SESSION
Novembre 2005 – Michel Desconnets Remarques diverses Quelques pistes pour commencer. C'est bientôt fini.
Novembre 2005 – Michel Desconnets Des outils Apache 1.3.XX et 2.0.XX: le serveur web dispo sur pour toutes les plates-formeshttp:// MySQL : PostgreSQL : Gvim [ ] ou tout autre éditeur
Novembre 2005 – Michel Desconnets Des références Le site du PHP Group : LA référence [ ] PHPDébutant [ ] PHPInfo [ ] PHPIndex [ ]
Novembre 2005 – Michel Desconnets Des livres Pour débuter : Programmation web avec PHP aux éditions Eyrolles (bleu) Pour aller plus loin : PHP professionnel aux éditions Eyrolles (rouge)
Novembre 2005 – Michel Desconnets Les questions N'hésitez pas à poser les questions qui vous viennent à l'esprit.