PHP LPRO ISVD Olivier Flauzac Université de Reims Champagne-Ardenne olivier.flau
PHP LPRO ISVD Olivier Flauzac Université de Reims Champagne-Ardenne olivier.flauzac@univ-reims.fr http://cosy.univ-reims.fr/flauzac Olivier Flauzac (URCA) LPRO ISVD PHP 1 / 64 Plan 1 Programmation sur le WEB Sur le client Sur le serveur 2 PHP ? 3 Scripts PHP 4 Les variables 5 Structures de contrôle 6 Formulaires Olivier Flauzac (URCA) LPRO ISVD PHP 2 / 64 Plan 1 Programmation sur le WEB Sur le client Sur le serveur 2 PHP ? 3 Scripts PHP 4 Les variables 5 Structures de contrôle 6 Formulaires Olivier Flauzac (URCA) LPRO ISVD PHP 3 / 64 Principe du client serveur Principe général Exécution basé sur un principe de "question / réponse" Acteurs Serveur Système détenant des ressources particulière mises à disposition Client Système accédant à des ressources Olivier Flauzac (URCA) LPRO ISVD PHP 4 / 64 Exécutions client/serveur Principe 1 le client émet une requête au serveur 2 le serveur reçoit la requête 3 le serveur traite la requête 4 le serveur envoie la réponse au client 5 le client reçoit la réponse 6 le client exploite la réponse 1 2 3 4 5 6 Olivier Flauzac (URCA) LPRO ISVD PHP 5 / 64 Exécution sur le WEB Possibilités d’exécutions exécution sur le serveur exécution sur le client Indépendance des exécutions pas d’accès entre les mémoires pas de lecture des états entre client et serveur pas “d’interférences” des exécutions Olivier Flauzac (URCA) LPRO ISVD PHP 6 / 64 Le HTML Hypertext Markup Language langage de description et de structuration de document exploitation de balises interprétation uniquement sur le client gestion de la mise en forme pas de calcul Olivier Flauzac (URCA) LPRO ISVD PHP 7 / 64 Quelques balises 1/3 Structure de la page <html> .. </html> définition d’un document <head> ... </head> en-tête du document <body> ... </body> corps d’un document Informations relatives à la page <meta> author auteur de la page keywords mot-clés de la page Olivier Flauzac (URCA) LPRO ISVD PHP 8 / 64 Quelques balises 2/3 Texte <p> ... </p> paragraphe <ul> ... </ul> liste non ordonnée <ol> ... </ol> liste ordonnée <li> ... </li> élément de liste Insertions <a href="..."> ... </a> lien hypertexte <img src="..."/> image Sauts <br/> passage à la ligne <hr/> affichage d’une ligne Olivier Flauzac (URCA) LPRO ISVD PHP 9 / 64 Quelques balises 3/3 Tableaux <table> ... </table> définition <tr> ... </tr> ligne d’un tableau <td> ... </td> cellule d’une ligne Formulaires <form ... > .. </form> définition <input type=".." name=".."/> entrée en ligne <select name=".."> </select> liste <option> ... </option> choix de liste Sauts <br/> passage à la ligne <hr/> affichage d’une ligne Olivier Flauzac (URCA) LPRO ISVD PHP 10 / 64 Exemple <html > <head> < t i t l e > Ma Page </ t i t l e > </head> <body> <h1> Ma Page WEB </h1> <p> Ceci est ma page WEB </p> <ul > < l i > 1 </ l i > < l i > 2 </ l i > </ ul > </body> </ html > Olivier Flauzac (URCA) LPRO ISVD PHP 11 / 64 Serveurs WEB Serveurs IIS Apache Possibilités d’exécution exécutions externes appel à un programme extérieur au serveur exécutions gérées par le serveur nécessite l’utilisation d’un “moteur” associé au serveur Olivier Flauzac (URCA) LPRO ISVD PHP 12 / 64 Exécutions Résultats des exécutions traitement des informations collectées (formulaire) code HTML/javascript interprétable par le client exécution de calcul accès à des informations sur le serveur (fichiers) accès à des informations extérieures (bases de données) Olivier Flauzac (URCA) LPRO ISVD PHP 13 / 64 Plan 1 Programmation sur le WEB Sur le client Sur le serveur 2 PHP ? 3 Scripts PHP 4 Les variables 5 Structures de contrôle 6 Formulaires Olivier Flauzac (URCA) LPRO ISVD PHP 14 / 64 Un peu d’histoire Versions successive 1994 création par par Rasmus Lerdorf (bibliothèque Perl) 1995 publication et diffusion de PHP/FI (Personal Home Page Tools/Form Interpreter) 1997 redéveloppement du noyau par Andi Gutmans et Zeev Suraski, naissance du Zend Engine 1998 naissance de PHP 3 (Hypertext Preprocessor) 2004 sortie de PHP 5.0 Olivier Flauzac (URCA) LPRO ISVD PHP 15 / 64 Mise en œuvre Plateforme existe sur toutes les plateformes nécessite : un serveur WEB (Apache, IIS ...) un moteur PHP Solutions logicielles Linux : Apache + PHP disponible en standard Windows IIS + PHP Apache + PHP EasyPHP (http://www.easyphp.org/) Olivier Flauzac (URCA) LPRO ISVD PHP 16 / 64 Exécution de script Fonctionnement code HTML “pur” non modifié code PHP évalué et interprété Evaluation d’une requête 1 réception de la requête par le serveur 2 recherche du fichier 3 évaluation et interprétation du fichier Création d’un fichier résultat virtuel ! pas de sauvegarde sur le disque du fichier résultat 4 envoie du fichier virtuel au client Olivier Flauzac (URCA) LPRO ISVD PHP 17 / 64 Test et exécution de script Accès aux scripts nécessite le serveur WEB lancé nécessite une interprétation pas d’accès par “fichier →ouvrir” du navigateur accès par l’url : http://server/chemin/page.php en test local http://localhost/chemin/page.php Olivier Flauzac (URCA) LPRO ISVD PHP 18 / 64 Fonctionnement interne Résultat des évaluations HTML − →HTML Javascript − →Javascript PHP − →HTML PHP − →Javascript PHP − →contenu autre de text/html image PDF ... PHP − →rien dans le fichier virtuel, un “calcul” est effectué Olivier Flauzac (URCA) LPRO ISVD PHP 19 / 64 Plan 1 Programmation sur le WEB Sur le client Sur le serveur 2 PHP ? 3 Scripts PHP 4 Les variables 5 Structures de contrôle 6 Formulaires Olivier Flauzac (URCA) LPRO ISVD PHP 20 / 64 Scripts inclusion de script entre les balises <? et ?> (ou <?php et ?>) instructions terminées par ; pas de limites aux zones de script nombre taille Olivier Flauzac (URCA) LPRO ISVD PHP 21 / 64 Exemple de script Script PHP <html > <head> < t i t l e > PHP </ t i t l e > </head> <body> <p> 1 paragraphe </p> <? echo "<p> 2 paragraphe </p>" ; ?> <p> 3 <? echo " paragraphe </p>" ; ?> </body> </ html > Résultat <html> <head> < t i t l e > PHP < / t i t l e > < / head> <body> <p> 1 paragraphe < / p> <p> 2 paragraphe < / p> <p> 3 paragraphe < / p> < / body> < / html> Olivier Flauzac (URCA) LPRO ISVD PHP 22 / 64 Génération Affichage echo print void echo ( s t r i n g arg1 [ , s t r i n g . . . ] ) i n t print ( s t r i n g arg ) echo " Bonjour " ; print " Hello " ; Olivier Flauzac (URCA) LPRO ISVD PHP 23 / 64 Commentaires Types de commentaires sur une ligne // ... sur plusieur lignes /* ... */ / / un simple commentaire sur une ligne /∗un commentaire sur plusieurs lignes ∗/ Olivier Flauzac (URCA) LPRO ISVD PHP 24 / 64 Exemple 1, script PHP <html > <head>< t i t l e > PHP </ t i t l e ></head> <body> <p> paragraphe f a i t en HTML </p> <? echo "<p> paragraphe f a i t en PHP </p>" ; ?> </body> </ html > Exemple 1, résultat <html> <head>< t i t l e > PHP < / t i t l e >< / head> <body> <p> paragraphe f a i t en HTML < / p> <p> paragraphe f a i t en PHP < / p> < / body> < / html> Olivier Flauzac (URCA) LPRO ISVD PHP 25 / 64 Exemple 2, Script PHP <html > <head> < t i t l e > PHP </ t i t l e > </head> <body> <p> paragraphe f a i t en HTML </p> <? echo "<p> paragraphe f a i t en PHP </p>" ; ?> <p> retour en HTML </p> <? echo "< s c r i p t language =\" j a v a s c r i p t \" > " ; echo " a l e r t ( \ " a l e r t f a i t en PHP \ " ) ; " ; echo " </ s c r i p t >" ; ?> </body> </ html > Olivier Flauzac (URCA) LPRO ISVD PHP 26 / 64 Exemple 2, résultat <html> <head> < t i t l e > PHP < / t i t l e > < / head> <body> <p> paragraphe f a i t en HTML < / p> <p> paragraphe f a i t en PHP < / p> <p> retour en HTML < / p> <script language=" j a v a s c r i p t "> a l e r t ( " a l e r t f a i t en PHP" ) ; < / script> < / body> < / html> Olivier Flauzac (URCA) LPRO ISVD PHP 27 / uploads/Ingenierie_Lourd/ cours-php.pdf
Documents similaires










-
28
-
0
-
0
Licence et utilisation
Gratuit pour un usage personnel Attribution requise- Détails
- Publié le Jui 29, 2022
- Catégorie Heavy Engineering/...
- Langue French
- Taille du fichier 0.2661MB