0 1 1.1 1.2 1.3 1.4 1.5 2 2.1 Table des matières Introduction Partie 1 : découv

0 1 1.1 1.2 1.3 1.4 1.5 2 2.1 Table des matières Introduction Partie 1 : découvrir PHP Introduction au développement Web Les bases du langage Programmer avec PHP Transmettre des données entre pages Accéder à une base de données Partie 2 : maîtriser PHP La programmation orientée objet en PHP Guide du développeur PHP 2 Guide du développeur PHP Résumé Ce guide rassemble les informations essentielles pour (bien) développer avec le langage PHP. Il se divise en deux parties. La première permet de découvrir PHP et aborde les aspects suivants : Introduction au développement Web Bases du langage PHP Programmation avec le langage PHP Transmission de données entre pages PHP Accès à une base de données relationnelle La seconde partie est consacrée à des notions plus avancées : Programmation orientée objet en PHP (TODO) Architecture Modèle-Vue-Contrôleur (TODO) Utilisation d'un framework (Silex) Pré-requis La lecture de la première partie suppose les pré-requis suivants. Bases de la programmation : variables, structures de contrôle (alternatives, boucles), fonctions, tableaux. Notions élémentaires de programmation orientée objet : création d'objets, appel de méthodes. Connaissance des langages fondamentaux du Web : HTML et CSS. La seconde partie nécessite certains pré-requis supplémentaires. Notions avancées de programmation orientée objet : écriture de classes, associations entre classes, héritage et méthodes abstraites. Remerciements Guide du développeur PHP 3 Introduction Ce guide reprend certains éléments des cours OpenClassrooms Concevez votre site web avec PHP et MySQL et Évoluez vers une architecture PHP professionnelle. Il s'inspire également des cours PHP de mes collègues de BTS SIO au lycée La Martinière Duchère de Lyon, en particulier Aline Bourelly. Contributions Ce guide est publié sous la licence Creative Commons BY-NC-SA. Son code source est disponible sur GitHub. N'hésitez pas à contribuer à son amélioration en utilisant les issues pour signaler des erreurs et les pull requests pour proposer des ajouts ou des corrections. Merci d'avance et bonne lecture ! Guide du développeur PHP 4 Introduction Partie 1 : découvrir PHP L'objectif de cette partie est d'apprendre à créer un site Web simple mais fonctionnel et un minimum sécurisé en utilisant le langage PHP. Nous allons découvrir comment : Créez des pages Web dynamiques avec PHP. Transmettre des données entre ces pages. Stocker des informations dans une base de données relationnelle. Guide du développeur PHP 5 Partie 1 : découvrir PHP Introduction au développement Web L'objectif de ce chapitre est de découvrir les notions fondamentales liées au développement Web. Note : ce chapitre s'inspire de la documentation du framework PHP Symfony. Le fonctionnement du Web Pour consulter un site Web sur Internet, il suffit de taper l'adresse correcte du site dans la barre d'adresse d'un navigateur Web, et le site s'affiche (si l'accès au réseau fonctionne). Nous allons tenter de comprendre ce qui se cache derrière cette opération très simple en apparence. La notion de serveur Web Pour être accessible, un site Web doit être publié sur un serveur. Un serveur est un type particulier d'ordinateur dont le rôle est d'attendre les demandes de clients, et d'y répondre. Un serveur rend un service à ses clients. Il existe de nombreux types de serveurs, en fonction du service rendu : serveur de fichiers, de messagerie, d'authentification... Un serveur qui permet de publier des sites Web est appelé serveur Web. Guide du développeur PHP 6 Introduction au développement Web Note : une même machine peut rendre différents services (exemple : serveur Web et serveur de fichiers). Plus précisément, une machine serveur Web embarque et exécute un logiciel serveur, capable de répondre aux demandes de consultations de sites Web. Les logiciels serveurs Web les plus populaires sont Apache, Microsoft IIS et nginx. La notion de client Web La machine qui permet la consultation du site Web demandé est appelé client Web. Il s'agit d'un abus de langage : en réalité, le véritable client est un logiciel qui s'exécute sur cette machine et réalise l'opération de consultation. Ce logiciel est le plus souvent un navigateur Web (browser). Les navigateurs Web les plus populaires sont Internet Explorer, Mozilla Firefox, Chrome, Safari et Opera. D'autres types de logiciels que les navigateurs peuvent jouer le rôle de clients Web en se connectant à des serveurs Web. Exemples : robots d'indexation, aspirateurs Web, applications mobiles, etc. La communication entre client et serveur La compréhension des échanges ayant lieu entre un client et un serveur Web lors de la consultation d'un site est essentielle. Il s'agit d'un mécanisme de type requête/réponse. 1. L'échange est initié par le client, qui envoie au serveur une requête pour consulter une ressource Web. 2. Le serveur prépare la page HTML associée. 3. Le serveur renvoie la page HTML au client, qui l'affiche. Afin de se comprendre, client et serveur Web utilisent pendant leurs échanges un protocole commun : HTTP. Guide du développeur PHP 7 Introduction au développement Web Le protocole HTTP HTTP (HyperText Transfert Protocol) est le protocole de transfert du Web. C'est son invention en 1989 au CERN de Genève, en même temps que le langage HTML, qui a conduit à l'apparition du World Wide Web : un immense réseau de réseaux, où on peut "rebondir" d'une page Web à une autre en utilisant des liens sans avoir besoin de connaître l'emplacement physique des serveurs et des ressources consultés. HTTP est fondamentalement un protocole très simple, basé sur des commandes textuelles. Anatomie d'une requête HTTP Prenons comme exemple la première étape de l'échange décrit plus haut. La requête HTTP envoyée par le navigateur prend une forme similaire à celle-ci : GET / HTTP/1.1 Host: xkcd.com Accept: text/html User-Agent: Mozilla/5.0 (Macintosh) La première ligne de cette requête HTTP est la plus importante. Elle contient : La méthode associée à la requête : ici, GET signifie une demande de ressource. L'identifiant de la ressource concernée. Ici, / (symbole de la racine, comme sous Linux) indique qu'on souhaite accéder au document par défaut. La version du protocole HTTP, ici 1.1. Les autres lignes de la requête HTTP sont appelés champs d'en-tête (HTTP header fields ou plus simplement headers). Ils précisent le site Web concerné (champ Host ), les types de contenu acceptés par le client (champ Accept ) et le logiciel client utilisé (champ User- Agent ). Il existe d'autres champs d'en-tête, non présentés ici. Guide du développeur PHP 8 Introduction au développement Web Les méthodes HTTP les plus fréquemment utilisées sont GET (pour récupérer une ressource depuis le serveur) et POST (pour modifier une ressource sur le serveur). Il en existe d'autres comme HEAD , PUT ou DELETE . Anatomie d'une réponse HTTP Lorsqu'il reçoit une requête HTTP, le serveur Web y puise les informations nécessaires pour construire la réponse, puis la renvoie au client. Continuons avec notre exemple précédent. La réponse HTTP renvoyée du serveur au client prend l'aspect ci-dessous. HTTP/1.1 200 OK Date: Mon, 14 Apr 2013 14:05:05 GMT Server: lighttpd/1.4.19 Content-Type: text/html <html> <!-- code HTML de la page --> <!-- ... --> </html> La première ligne de la réponse contient son statut sous la forme d'un code qui indique le résultat de la requête. Comme une requête, une réponse HTTP contient des champs d'en- tête ( Date , Content-Type et bien d'autres) permettant de véhiculer des informations additionnelles. Par exemple, il est possible d'utiliser certains champs pour mettre en place un mécanisme de cache. Enfin, la réponse HTTP contient éventuellement la ressource demandée par le client. Le plus souvent, il s'agit d'une page Web décrite sous la forme de balises HTML. Les codes HTTP Guide du développeur PHP 9 Introduction au développement Web Les codes de retour HTTP peuvent être classés par familles en fonction du premier chiffre. Famille Signification Exemples 1xx Information 2xx Succès 200 : requête traitée avec succès 3xx Redirection 4xx Erreur provenant du client 400 : syntaxe de la requête erronée 404 : ressource demandée non trouvée 5xx Erreur provenant du serveur 500 : erreur interne du serveur 503 : service temporairement indisponible Vous trouverez sur Wikipedia plus de détails sur le protocole HTTP. La notion d'URL On a l'habitude d'accéder à un site Web en utilisant son adresse. Celle-ci est de la forme : http://www.monsite.fr/mondossier/mapage.html . On peut décomposer cette adresse en plusieurs sous-parties. http:// signifie qu'on utilise le protocole HTTP. www.monsite.fr est le nom de domaine du site Web visité. /mondossier/mapage.html est le chemin de la ressource demandée au sein du site. La majorité des serveurs Web est configurée pour renvoyer une page par défaut ( index.html , index.php , Default.aspx ) lorsque le client ne précise pas explicitement quelle page il souhaite récupérer (exemples : http://www.monsite.fr ou http://www.monsite.fr/mondossier/). Guide du développeur PHP 10 Introduction au développement Web Une adresse Web telle que celle ci-dessus esr ce qu'on appelle une URL ou Uniform Resource Locator. Elle permet de décrire l'emplacement d'une ressource Web et le moyen d'y accéder. La place du langage PHP Au commencement du Web : les sites statiques Les tous premiers sites Web créés dans les années 1990 étaient composés uniquement de pages HTML (pour le contenu) et de fichiers CSS (pour la mise en forme uploads/Litterature/ 0620-guide-du-developpeur-php.pdf

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