Cours PHP Accéléré Version 0.9.6 Gérard Rozsavolgyi mars 30, 2020 Table des mat

Cours PHP Accéléré Version 0.9.6 Gérard Rozsavolgyi mars 30, 2020 Table des matières i ii CHAPITRE 1 Ce cours au format epub Tuto PHP en accéléré format epub 1 Cours PHP Accéléré, Version 0.9.6 2 Chapitre 1. Ce cours au format epub CHAPITRE 2 Ce cours au format pdf Tuto PHP en accéléré en pdf 3 Cours PHP Accéléré, Version 0.9.6 4 Chapitre 2. Ce cours au format pdf CHAPITRE 3 Tables des matières : 3.1 Caractéristiques Principales 3.1.1 Langage interprété — Pas de compilation — Exécuté instruction par instruction — Multi-plateformes — Compilateur AOT/ByteCode en PHP7 Zend — Compilateur JIT pour HHVM Facebook — Langage Hack proposé par Facebook 3.1.2 Spécialisé dans la génération de texte ou de documents — HTML — PDF — Images 3.1.3 Fichiers d’extension .php — Code inséré dans une page HTML — Entre balises <?php et?> 5 Cours PHP Accéléré, Version 0.9.6 3.2 Fonctionnement 3.2.1 L’interpréteur lit un fichier source .php puis génère un flux de sortie avec les règles suivantes : — toute ligne située à l’extérieur d’un bloc PHP ( entre <?php et?>) est recopiée inchangée dans le flux de sortie — le code PHP est interprété et génère éventuellement des résultats intégrés eux aussi au flux de sortie — les erreurs éventuelles donnent lieu à des messages d’erreurs qu’on retrouve également dans le flux de sortie (selon la configuration du serveur) — une page html pure sauvegardée avec l’extension .php sera donc non modifiée et ren- voyée telle quelle ... 6 Chapitre 3. Tables des matières : Cours PHP Accéléré, Version 0.9.6 3.3 Historique 3.3.1 Créateur Rasmus Lerdorf, un programmeur Groenlandais avec la nationalité canadienne, crée PHP en 1994 pour analyser les connexions sur son site Web. Il réalise les 2 premières moutures du langage (v1 et v2). En 1997, deux étudiants, Andi Gutmans et Zeev Suraski, reprennent le moteur, il en sortira PHP 3.0 puis les outils Zend. Note : Le langage PHP a subi de profonds remaniements et a bénéficié de beaucoup d’enrichis- sements depuis ces premières versions. La première version objet de PHP (la version 4) a été profondément remaniée lors du passage de PHP4.0 à PHP5.0 et s’inspire désormais largement du modèle de Java. La version actuelle de PHP est la 7.2, sortie en 2018. La version 7 est sortie en Décembre 2015 et il n’y a jamais eu de version 6! PHP 7 (https ://wiki.php.net/rfc/php7timeline) Avertissement : Le début du développement de la version 6 de PHP date de 2005 et a été abandonnée en raison de difficultés d’intégration du support Unicode. Les autres fonction- nalités envisagées ont depuis été intégrées à PHP 5.3 ou 5.4. Ca n’a pas empêché un certain nombre de livres intitulés PHP 6 de sortir bien que cette version n’existera jamais ... 3.3.2 La saga PHP 7 : — Facebook a publié en 2011 HipHop Virtual Machine dit HHVM, une machine virtuelle permettant de pré-compiler le code PHP en bytecode à la manière de Java (JIT Compi- ler). — En 2014, Facebook sort le langage Hack, s’exécutant grace à HHVM et apportant des fonctionnalités comme le typage fort, des classes paramétrables, une API de collec- tions plus riche et cohérente, des traitements asynchrones et davantage de sécurité avec l’extension XHP. — Le framework PHP Phalcon (extension PECL de PHP), propose Zephir (Zend Engine PHp Intermediate) (https ://github.com/phalcon/zephir) qui permet la création d’exten- sions rapides en PHP (codées en C) de manière simplifiée (sans écrire du C directe- ment). — La société Zend a réagi face à HHVM en accélérant le développement de la nouvelle mouture de PHP 7 et en améliorant ses performances avec un mécanisme de compilation AOT (Ahead of Time) 3.3.3 PHP Signifie d’abord Personal Home Pages puis HypertextPreProcessor 3.3. Historique 7 Cours PHP Accéléré, Version 0.9.6 3.3.4 Syntaxe et structure — Proche du C ou du Perl — Peu structuré au début — Possibilité de définir des fonctions et des classes — Très bonnes performances pour PHP 7 (améliorations de l’ordre de 50% de la vitesse d’exécution) 3.3.5 Utilisation — Grand succès — Utilisation par de très grands sites — beaucoup de code libre disponible. — des dizaines de millions de sites Web l’utilisent à travers le monde... — Comme Le Monde (http ://lemonde.fr/) , Facebook (http ://facebook.fr/) ou Yahoo (http ://yahoo.fr/) 3.3.6 CMS Les grands CMS Content Management Systems ou Systèmes de Gestion de Contenus utilisent PHP, comme : — Wordpress — Joomla — Drupal Les CMS de ecommerce aussi : — Prestashop — Magento 3.3.7 Frameworks De grands Frameworks de développement Web aussi sont disponibles en PHP : — Symfony — Zend — Laravel — Phalcon — CakePHP — Yii — Slim Note : Plus de 300 millions de sites sont réalisés en PHP à travers le monde! 8 Chapitre 3. Tables des matières : Cours PHP Accéléré, Version 0.9.6 3.4 Installation PHP Indication : Tout informaticien doit savoir ce que LAMP veut dire ... 3.4.1 LAMP : — Linux — Apache — MySQL — PHP Par exension, le logiciel équivalent pour Windows, s’est retrouvé nommé : 3.4.2 WAMP : Pour Windows Et MAMP pour les Macs... 3.4.3 MAMP : Pour Mac. Pas indispensable car Apache et PHP sont installés sous Mac OS mais un peu plus simple à configurer. Il vous faudra alors installer MySQL ou MariaDB soit dans un paquet soit en utilisant homebrew ou macports Pour toutes les plate-formes, on peut aussi installer XAMPP (https ://www.apachefriends.org/fr/index.html) Revenons à l’OS de référence à présent. 3.4.4 Sous Linux : — Installer Apache2 — Installer PHP7 — Télécharger éventuellement la documentation (paquet php-doc) — Vérifier le fichier php.ini — Installer MySQL (client et serveur) — Installer PHPMyAdmin — Installer des paquets complémentaires (dont les noms commencent par php7x-) 3.4. Installation PHP 9 Cours PHP Accéléré, Version 0.9.6 3.5 Exemples simples 3.5.1 bonjour <!doctype html> <html> <head> <meta charset="utf-8" /> <title> Bonjour depuis PHP </title> </head> <body> <?php echo 'Bonjour généré dynamiquement en PHP !'; ?> </body> </html> 3.5.2 Résultat brut html <!doctype html> <html> <head> <meta charset="utf-8" /> <title> Bonjour depuis PHP </title> </head> <body> Bonjour généré dynamiquement en PHP !</body> </html> 3.5.3 Exécution bonjour 3.5.4 Infos PHP <?php phpinfo(); ?> 3.5.5 Exécution infos php 10 Chapitre 3. Tables des matières : Cours PHP Accéléré, Version 0.9.6 3.5.6 User Agent <!doctype html> <html> <head> <title> Navigateur </title> <body> Les informations sur le Navigateur sont : <?php echo $_SERVER['HTTP_USER_AGENT']; ?> </body> </html> 3.5.7 Exemple de Résultat Les informations sur le Navigateur sont : Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10_6_4; fr-fr) AppleWebKit/ ˓ →533.18.1 (KHTML, like Gecko) Version/5.0.2 Safari/533.18.5 3.5.8 Exécution User-Agent Vous pouvez consulter la documentation de PHP sur : doc php (http ://php.net/manual/fr/) 3.6 Imbrication de code HTML et PHP On peut par exemple : — Commencer une page HTML — puis écrire un peu de PHP — reprendre en HTML — etc. 3.6.1 Exemple : 3.6. Imbrication de code HTML et PHP 11 Cours PHP Accéléré, Version 0.9.6 <!doctype html> <html> <head> <title> Navigateur </title> <body> Les informations sur le Navigateur sont : <?php $AGENT=$_SERVER['HTTP_USER_AGENT']; echo $AGENT; echo("\n<P>"); if (stristr($AGENT,"MSIE")) { ?> <b>Vous semblez utiliser Internet Explorer !</b> <?php } elseif (preg_match("/Firefox/i",$AGENT)) { ?> <b>Vous semblez utiliser Firefox !</b> <?php } elseif (preg_match("/chrome/i",$AGENT)) { ?> <b>Vous semblez utiliser Chrome !</b> <?php } elseif (preg_match("/Safari/",$AGENT)) { ?> <b>Vous semblez utiliser Safari !</b> <?php } else echo "Navigateur Inconnu !"; ?> </body> </html> ATTENTION : ça peut vite devenir ILLISIBLE 3.6.2 Exécution user-agent php 3.6.3 Remèdes : Pour ne pas écrire ce genre de code, quelques solutions courantes : — Utiliser des fonctions PHP — Utiliser des Classes et Objets PHP — Séparer les modèles des Vues — Séparer les Modèles, les Vues et les Contrôleurs (Modèle MVC) — Utiliser des systèmes de templates comme Twig 12 Chapitre 3. Tables des matières : Cours PHP Accéléré, Version 0.9.6 3.7 Un formulaire HTML et sa réponse en PHP On code ici : — un petit formulaire HTML — et sa réponse en PHP 3.7.1 Formulaire HTML <!doctype html> <html> <head> <meta charset="utf-8" /> <title> Formulaire html </title> </head> <body> <form action="reponse.php" method="GET"> Votre nom :<input type="text" name="nom"> Votre âge :<input type="text" name="age"> <p> <input type=submit value="Envoyer"> </form> </body> </html> 3.7.2 Sa réponse <!doctype html> <html> <head> <meta charset="utf-8" /> <title> Test Formulaire PHP </title> </head> <body> <h1>Bonjour, <?php echo $_GET['nom'] ?></h1> <h2>Vous semblez avoir <?php echo $_GET['age'] ?></h2> <?php $n = $_GET['nom']; $a = $_GET['age']; ?> Votre nom est stocké dans la variable $n dont le type est <?php echo gettype($n) ?> (suite sur la page suivante) 3.7. Un formulaire HTML et sa réponse en PHP 13 Cours PHP Accéléré, Version 0.9.6 (suite de la page précédente) Votre âge est stocké dans la variable <b>$a</b> <br/> dont le type est <i><?php echo gettype($a); ?></i> <br/> On peut la transformer en <i>integer</i> en faisant : <?php settype($a,"integer"); ?> <br/> Type de $a :<?php echo gettype($a); ?> </body> </html> 3.7.3 Exécution Formulaire 3.8 Les variables en PHP 3.8.1 Déclaration simple : <?php $variable = "une variable en PHP"; uploads/Litterature/ cours-complet-php.pdf

  • 29
  • 0
  • 0
Afficher les détails des licences
Licence et utilisation
Gratuit pour un usage personnel Attribution requise
Partager