270 likes | 400 Vues
PHP : théorie. Objectif : introduire les concepts globaux permettant d'aborder la programmation en PHP. Le protocole HTTP. Objectif : mieux comprendre la notion de client-serveur. Généralités. HyperText Transfer Protocol
E N D
PHP : théorie Objectif : introduire les concepts globaux permettant d'aborder la programmation en PHP
Le protocole HTTP Objectif : mieux comprendre la notion de client-serveur
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 • Toute la communication entre le client et le serveur se fait par une requête HTTP qui entraîne une réponse HTTP. Requête HTTP Client Navigateur Serveur web Réponse HTTP Novembre 2005 – Michel Desconnets
Une requête HTTP GET http://www.ec-lyon.fr HTTP/1.1 Accept : text/html if-Modified-Since : Saturday, 15-January-2000 14: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
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 4.4.2 • 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 <?php ?> • 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 : <html> <head> <title>La date</title> </head> <body> <?php echo "La date du jour : "; echo date("d/m/Y"); ?> </body> </html> 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.'<br />\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.
Des outils • Apache 1.3.XX et 2.0.XX: le serveur web dispo sur http://www.apache.org pour toutes les plates-formes • MySQL : http://www.mysql.com • PostgreSQL : http://www.postgresql.org • Gvim [http://www.vim.org ] ou tout autre éditeur Novembre 2005 – Michel Desconnets
Des références • Le site du PHP Group : LA référence [ http://www.php.net ] • PHPDébutant [ http://www.phpdebutant.com ] • PHPInfo [ http://www.phpinfo.net ] • PHPIndex [ http://www.phpindex.com ] 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.