PHP : théorie

27
Novembre 2005 – Michel Desconnets PHP : théorie Objectif : introduire les concepts globaux permettant d'aborder la programmation en PHP

description

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 - PowerPoint PPT Presentation

Transcript of PHP : théorie

Page 1: PHP : théorie

Novembre 2005 – Michel Desconnets

PHP : théorie

Objectif : introduire les concepts globaux permettant d'aborder la programmation en PHP

Page 2: PHP : théorie

Novembre 2005 – Michel Desconnets

Le protocole HTTP

Objectif : mieux comprendre la notion de client-serveur

Page 3: PHP : théorie

Novembre 2005 – Michel Desconnets

Généralités

HyperText Transfer Protocol Protocole de base d'Internet. Permet de

demander et de recevoir des documentsNotion de requête HTTPNotion de réponse HTTP

Page 4: PHP : théorie

Novembre 2005 – Michel Desconnets

Principe

Serveur webClient

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.

Page 5: PHP : théorie

Novembre 2005 – Michel Desconnets

Une requête HTTP

GET http://www.ec-lyon.fr HTTP/1.1Accept : text/htmlif-Modified-Since : Saturday, 15-January-2000 14:37:11 GMTUser-Agent : Mozilla/5.0 (compatible; MSIE 6.0; Windows NT)

POST /form_res/login.php HTTP/1.1Host: localhostContent-Type: application/x-www-form-urlencodedContent-Length: 26login=gsmet&password=xxxxx

Page 6: PHP : théorie

Novembre 2005 – Michel Desconnets

Présentation de PHP

Objectif : comprendre les objectifs de PHP et ce qu'il peut apporter

Page 7: PHP : théorie

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

Page 8: PHP : théorie

Novembre 2005 – Michel Desconnets

Moteur PHP

Page 9: PHP : théorie

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

Page 10: PHP : théorie

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

Page 11: PHP : théorie

Novembre 2005 – Michel Desconnets

Un exemple pour fixer les idées

Un petit exemple :<html><head>

<title>La date</title></head><body><?phpecho "La date du jour : ";echo date("d/m/Y");?></body></html>

Page 12: PHP : théorie

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.

Page 13: PHP : théorie

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;

Page 14: PHP : théorie

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.

Page 15: PHP : théorie

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…

Page 16: PHP : théorie

Novembre 2005 – Michel Desconnets

Expressions booléennes

Page 17: PHP : théorie

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 : … }

Page 18: PHP : théorie

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

Page 19: PHP : théorie

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.

Page 20: PHP : théorie

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

Page 21: PHP : théorie

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…

Page 22: PHP : théorie

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

Page 23: PHP : théorie

Novembre 2005 – Michel Desconnets

Remarques diverses

Quelques pistes pour commencer.

C'est bientôt fini.

Page 24: PHP : théorie

Novembre 2005 – Michel Desconnets

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

Page 25: PHP : théorie

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 ]

Page 26: PHP : théorie

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)

Page 27: PHP : théorie

Novembre 2005 – Michel Desconnets

Les questions

N'hésitez pas à poser les questions qui vous viennent à l'esprit.