Coursphp.Pdf
Total Page:16
File Type:pdf, Size:1020Kb
PHP 5 POEC – PHP 2017 1 Qu'est-ce que PHP ? PHP (PHP Hypertext PreProcessor) est un langage de programmation. Il s’agit d’un langage interprété et indépendant de la plate-forme d'exécution. Il permet de générer des pages HTML dynamiques. Il s’avère utile pour utiliser de ressources serveurs comme des bases de données. Une large communauté d’utilisateurs PHP existe. De nombreuses documentations et ressources sont disponibles. 2 Licence de PHP ? PHP est distribué via une licence propre qui permet sa rediffusion, son utilisation, sa modification. PHP est distribué librement et gratuitement. 3 Que faire avec PHP ? Des sites Web La partie serveur de tout type d’application : Application Web Application mobile Applications utilisables en ligne de commande (scripting) 4 Quelques technologies concurrentes à PHP • JSP : Java-Server Pages • Technologie de Sun • Semblable à PHP mais la partie dynamique est écrite en Java • ASP.Net: Active Server Pages • Produit de Microsoft • Contenu dynamique pouvant être écrit dans tous les langages de la plateforme .Net (les plus utilisés étant le C# et le VB.Net) • Le choix entre PHP, JSP et ASP.Net est plus "politique" que technique. 5 Intérêts d’utiliser PHP • Très populaire et très utilisé – Utilisé par des sites internet à très fort trafic tels Yahoo ou Facebook • Amène un certain nombre de personnes à améliorer le langage – Simplifie l’accès à de la documentation • Syntaxe simple à prendre en main (héritée du C, du Shell et du Perl) • Très portable (fonctionne sous Windows, Linux, Mac…) • Extensible par de nombreuses bibliothèques – calcul mathématique, – création dynamique d'images, – connexions sécurisées, – accès à la plupart des SGBD 6 Intérêts d’utiliser PHP • Un fichier PHP (.php) peut contenir – du code HTML – du code PHP – du code JavaScript • Logiciel open source (donc plus facilement extensible) et disponible gratuitement • Conçu pour fonctionner efficacement avec le serveur Apache, lui aussi en open source 7 Historique • 1994 : créé par Rasmus Lerdorf pour ses besoins personnels • très succinct • savoir qui venait consulter son CV en ligne • 1995 : première version publique • interpréteur du code très simple (quelques macros) et quelques utilitaires • gestion d'un livre d'or • gestion d'un compteur d'accès 8 Historique • Eté 1995 : deuxième version – Nommée PHP/FI pour Personnal Home Page Tools / Form Interpreter • réécriture de l'interpréteur • ajout de la gestion des formulaires (Form Interpreter) • support pour MySql • Eté 1997 : plus de 50 000 sites Web utilisent PHP/FI • Fin 1997 : PHP devient un projet d'équipe • réécriture complète de l'interpréteur par Zeev Suraski et Andi Gutmans • donne naissance à PHP3 9 Historique • Eté 1999 : succès de PHP3 • 150 000 sites Web utilisent PHP3 • PHP : Hypertext PreProcessor • Une des principales nouveautés: une API modulaire. N’importe quel développeur peut créer ses propres modules. • 2000 : PHP4 • le projet est maintenant dirigé par Zend, société privée créée par Suraski et Gutmans qui commercialise des logiciels complémentaires à PHP • interpréteur optimisé par Zend et ouverture de PHP à d'autres serveurs HTTP qu'Apache • 2004 : PHP5 – Sortie du moteur Zend Engine II avec un nouveau modèle objet • Aujourd’hui PHP est utilisé par 78% de l’ensemble des sites internet. 10 Mise en place de PHP Installation et configuration Installation d’un poste de développement 11 Installation et configuration • Dans la plupart des cas PHP est couplé à un serveur web. • Il est donc nécessaire d’installer – PHP – Un serveur Web • Le plus utilisé avec PHP est Apache (licence OpenSource) – Un moteur de base de données relationnelles • Le plus utilisé avec PHP est MySQL (licence OpenSource) • Une fois installés il est nécessaire de configurer les différents outils afin qu’ils fonctionnent bien ensemble. 12 Installation d’un poste de développement • Afin de faciliter la tâche aux développeurs il existe des outils installant directement des versions d’Apache, PHP et MySQL préconfigurées : – Wamp Server – EasyPHP – Xampp • Ces outils intègrent aussi des utilitaires tels que PHPMyAdmin ou SQLiteManager qui facilitent la vie des développeurs • Pour PHP 5 le plus utilisé est WAMP Server – www.wamp5.com 13 Première utilisation de Wamp Server Par défaut le serveur Apache crée un nom de domaine virtuel (car local) http://127.0.0.1 ou http://localhost. La sélection du raccourci Localhost dans le menu de Wamp Server ouvre http://localhost et affiche la page par défaut (index.php). Il s’agit du contenu du répertoire www du serveur local (C:\wamp\www\) 14 Installation d’un poste de développement • Un éditeur de texte suffit à développer en PHP. (bloc note, sublime text 2, notepad, …) • Toutefois, pour faciliter le développement il est conseillé d’utiliser un environnement de développement intégré (IDE) : – Eclipse for PHP developers (Open source) – Aptana (Open source) – Zend Studio (payant, une version d’évaluation existe) 15 Vérification du bon fonctionnement <?php phpinfo(); ?> • phpinfo() permet d'afficher les informations relatives à la configuration de PHP sur le serveur – options de compilation, extensions, version, informations sur le serveur, environnement PHP, chemins, utilisateur, en-têtes HTTP, et licence GNU Public License – contenu de toutes les variables EGPCS (Environnement, GET, POST, Cookie, Serveur) 16 Le fichier de configuration de PHP • Il s’agit du fichier php.ini • Il est généralement dans /etc/php<version>/ • Il contrôle les principaux comportements de PHP • Il est très clair et très facilement configurable: – Sa syntaxe est la suivante: clef="valeur" – Un ; marque les lignes de commentaire – Il est segmenté en parties : options du langage, ressources maximales allouées à PHP, gestion des erreurs, gestion des données HTTP, fichiers et répertoires, ajout et configuration des modules PHP (mail, SGBD, debugger, …) 17 Principe de fonctionnement Théorie Mise en pratique 18 Principe • L'interpréteur de code PHP est intégré au serveur HTTP • Le serveur lit les instructions PHP intégrées à la page HTML, interprète ces instructions et les remplace par le résultat de leur exécution 19 Principe Poste client Site serveur 1 Requête HTTP recherche de index.php Navigateur 2 demandant index.php Serveur Web sur le disque client Démon HTTP DD interprétation des 3 commandes PHP Interpréteur requêtes SQL éventuelles PHP 4 Réponse HTTP SGBD Affichage de code HTML/ la page JavaScript 20 Principe • Fonctionnement de l'interpréteur PHP : • Un bloc PHP est un groupe de lignes encadré par deux balises <?php ?> • Toute ligne située à l'extérieur de ces balises n'est pas interprétée : elle est recopiée à l'identique sur la sortie standard, • Toute ligne située à l'intérieur de ces balises est interprétée par le moteur comme une instruction PHP. 21 Principe – Les instructions PHP n'apparaissent pas dans le flux de sortie généré, – Lorsqu'une erreur se produit, un message explicatif est intégré dans le flux de sortie et l'analyse du code est interrompue (sauf si warning). 22 Balises d’ouverture et de fermeture • Le début et la fin des portions de code PHP sont signalés grâce à des balises d’ouverture et de fermeture. • Seul ce qui est entre ces balises est interprété. • Il est conseillé d’utiliser la syntaxe suivante: <?php echo "Bonjour !"; ?> 23 Balises d’ouverture et de fermeture • On trouve aussi couramment <? echo "Bonjour !"; ?> Cette syntaxe peut poser des problèmes de compatibilité avec le langage XML. <% echo "Bonjour !"; %> Cette syntaxe est utilisé par Microsoft FrontPage (style ASP) 24 Intégrer du PHP dans une page HTML <html> <head> <title>PHP</title> </head> <body> Première page PHP<br /> <?php echo "Bonjour" ; // ou print "Bonjour"; ?> </body> </html> Les fichiers HTML portant du code PHP ont l'extension .php 25 Page reçue par le client Code PHP traduit en HTML dans la page : <html> <head><title>Page PHP</title></head> <body> Première page PHP<br /> Bonjour </body> </html> 26 Intégrer du PHP dans une page HTML • Le ; est le séparateur d'instructions <?php echo "Bonjour Monsieur"; echo $nom; ?> • Entrelacement de code HTML et PHP <?php echo '<p>Ceci est du code PHP</p>'; echo '<img src="./image.gif" alt="Mon image">'; ?> 27 Les bases du langage PHP Types, chaînes de caractères, tableaux, opérateurs, instructions conditionnelles, boucles, fonctions, variables, objets 28 Commentaires • PHP possède comme les langages Java ou C# des commentaires sur ligne simple et des commentaires multi-lignes. – La séquence // permet de commenter une ligne complète – Les commentaires multi-lignes sont introduits par la séquence /* et se terminent par */ <?php /* commentaire sur plusieurs lignes */ // commentaire sur une seul ligne echo "Ceci n’est pas un commentaire"; ?> 29 La casse • Les noms de fonction sont insensibles à la casse: echo "Bonjour"; et EcHo "Bonjour"; sont équivalents • En revanche les noms de variables sont sensibles à la casse: echo $nom; // et echo $NOM; // concernent deux variables différentes 30 Types de données Comme tout langage de programmation, PHP dispose de plusieurs types de données. Type scalaire : String (chaînes de caractères) ‘bonjour’ Bool (true ou false) true Int (entiers signés) 12 Float – double (réels signés) 4.63 Type composite : Object (objets) new stdClass() Array (tableau) array(2, ‘matelli’) Type spécial : Ressource (descripteur abstrait) fopen(...) 31 Variables Les noms de variables sont précédés d'un $ $maVariable; Le langage PHP est faiblement typé: Il n’est pas nécessaire de déclarer le type d’une variable