-
Connexion
- Inscription
- 2 222 310 inscrits »
Vous êtes ici : Accueil › Documents › Informatique › Programmation › Cours de php 5
mimobrave - Mise à jour : 24/12/2010
8 téléchargement(s)
format .pdf
1.7 Mo
Niveau : Bac+1
Extrait / Introduction
Extrait / Introduction :
PHP est maintenu par une communauté ouverte d'utilisateurs dont l'auteur original, Rasmus Lerdorf, fait encore partie. Tout le monde est invité à aider dans la mesure de ses disponibilités et de ses compétences. Aider le projet peut prendre diverses formes comme la programmation du core ou d'extensions en langage C, une aide à la documentation, etc. Les contributeurs de PHP viennent d'horizons très différents. Certains sont de simples utilisateurs du langage qui ont voulu participer à son amélioration, d'autres sont des chefs d'entreprise ou des responsables informatiques désireux de s'assurer que le langage qu'ils utilisent est maintenu ou qu'il correspond à leurs besoins, d'autres encore sont des chercheurs (IBM etc.) souhaitant ouvrir de nouveaux horizons au langage... La communication se fait par divers media. Les utilisateurs finaux peuvent simplement utiliser le flux Atom des nouveautés, et ceux qui s'intéressent au fonctionnement interne de PHP peuvent s'inscrire aux mailing lists. Une alternative à la mailing list "PHP Internals" est de suive les Zend Weekly Summaries rédigés de main de maître par Steph Fox. Si vous avez besoin d'aide, vous pouvez notamment utiliser les forums PHP de Developpez (en français) ou les listes officielles (en anglais), mais il en existe d'autres sur Internet. À vous de faire le choix.Plan
Plan :
I - Introduction.............................................................................................................................................................7 I-A - Remerciements............................................................................................................................................. 7 I-B - Préambule..................................................................................................................................................... 7 I-C - Problématique............................................................................................................................................... 7 I-D - Communauté.................................................................................................................................................7 I-E - Outils de développement.............................................................................................................................. 8 I-F - Documentation...............................................................................................................................................9 I-G - Utilisations de PHP.......................................................................................................................................9 I-G-1 - Exemple Web.......................................................................................................................................9 I-G-2 - Exemple "CLI".................................................................................................................................... 10 I-G-3 - Exemple "GUI"................................................................................................................................... 11 II - Exemples de scripts (mise en jambe)................................................................................................................. 12 II-A - Exécution des scripts d'exemple................................................................................................................ 12 II-B - Affichage.....................................................................................................................................................12 II-C - Boucles.......................................................................................................................................................13 III - Syntaxe du langage PHP.................................................................................................................................. 14 III-A - Préambule................................................................................................................................................. 14 III-B - Présentation du code................................................................................................................................ 14 III-C - Parenthèses.............................................................................................................................................. 15 III-D - Accolades..................................................................................................................................................15 III-E - Commentaires........................................................................................................................................... 15 III-F - Opérateurs.................................................................................................................................................16 III-F-1 - Arithmétique (+ - * / %)..................................................................................................................... 16 III-F-2 - Affectation de variable (= += -= *= /= .=)...........................................................................................16 III-F-3 - Comparaison (== === != <> !== > >= < <= instanceof).................................................................... 17 III-F-4 - Condition (?)..................................................................................................................................... 18 III-F-5 - Incrémentation / diminution (++ --).................................................................................................... 18 III-F-6 - Arithmétique logique, aka opérateurs de bits (& |)............................................................................19 III-F-7 - Comparaison logique (&& || and or)..................................................................................................20 III-F-8 - Opérateurs de tableaux (+ == === <> != !==)................................................................................... 21 III-F-9 - Opérateurs spéciaux (@ ``)...............................................................................................................21 III-G - Types.........................................................................................................................................................22 III-G-1 - Préambule........................................................................................................................................ 22 III-G-2 - Type chaîne de caractères (string)................................................................................................... 22 III-G-3 - Type numérique (int, float)................................................................................................................ 24 III-G-4 - Types spéciaux (null resource object).............................................................................................. 25 III-G-5 - Fonctions utiles................................................................................................................................ 25 III-H - Variables....................................................................................................................................................27 III-H-1 - Syntaxe.............................................................................................................................................27 III-H-2 - Superglobales...................................................................................................................................28 III-H-3 - Références....................................................................................................................................... 29 III-H-4 - Fonctions utiles................................................................................................................................ 29 III-H-5 - Bonnes pratiques............................................................................................................................. 30 III-I - Constantes..................................................................................................................................................30 III-I-1 - Syntaxe.............................................................................................................................................. 30 III-I-2 - Constantes magiques........................................................................................................................ 31 III-I-3 - Fonctions utiles.................................................................................................................................. 32 III-I-4 - Utilisation............................................................................................................................................32 III-J - Tableaux.....................................................................................................................................................32 III-J-1 - Syntaxe..............................................................................................................................................32 III-J-2 - Pointeur interne.................................................................................................................................35 III-J-3 - Fonctions utiles................................................................................................................................. 35 III-K - Structures de contrôle...............................................................................................................................36 III-K-1 - Conditionnelle "if"..............................................................................................................................36 III-K-2 - Alternative "switch"........................................................................................................................... 36 III-K-3 - Boucle "for".......................................................................................................................................38 III-K-4 - Boucle "while"...................................................................................................................................39 III-K-5 - Boucle "do while"..............................................................................................................................40 III-K-6 - Boucle "each"................................................................................................................................... 41 III-K-7 - Boucle "foreach"............................................................................................................................... 41 III-L - Fonctions................................................................................................................................................... 42 III-L-1 - Syntaxe............................................................................................................................................. 42 III-L-2 - Visibilité des variables...................................................................................................................... 44 III-L-3 - Fonctions et constantes utiles........................................................................................................... 45 IV - Programmation Orientée Objet (POO)............................................................................................................... 46 IV-A - Modèle objet............................................................................................................................................. 46 IV-A-1 - Bref historique.................................................................................................................................. 46 IV-A-2 - Terminologie..................................................................................................................................... 46 IV-A-3 - Les mots réservés............................................................................................................................46 IV-A-4 - Syntaxe.............................................................................................................................................47 IV-A-5 - Droits d'accès...................................................................................................................................47 IV-A-6 - Résolution de portée.........................................................................................................................49 IV-A-7 - Interfaces..........................................................................................................................................50 IV-A-8 - Références et clônage...................................................................................................................... 51 IV-A-9 - Late Static Bindings (LSB)................................................................................................................52 IV-A-10 - Exceptions...................................................................................................................................... 54 IV-A-11 - Fonctions et constantes utiles.........................................................................................................55 IV-B - Espaces de noms.....................................................................................................................................55 IV-B-1 - Introduction.......................................................................................................................................55 IV-B-2 - Syntaxe.............................................................................................................................................55 IV-B-3 - Exemple d'utilisation.........................................................................................................................57 V - Configuration par le fichier php.ini...................................................................................................................... 59 V-A - Introduction................................................................................................................................................ 59 V-B - Core........................................................................................................................................................... 59 V-B-1 - short_open_tag..................................................................................................................................59 V-B-2 - output_buffering.................................................................................................................................60 V-B-3 - safe_mode.........................................................................................................................................60 V-B-4 - disable_*............................................................................................................................................60 V-B-5 - max_*_time........................................................................................................................................60 V-B-6 - memory_limit..................................................................................................................................... 61 V-B-7 - error_reporting...................................................................................................................................61 V-B-8 - display_errors.................................................................................................................................... 62 V-B-9 - display_startup_errors........................................................................................................................ 62 V-B-10 - log_errors........................................................................................................................................ 62 V-B-11 - error_prepend_string........................................................................................................................ 62 V-B-12 - error_log.......................................................................................................................................... 63 V-B-13 - register_globals............................................................................................................................... 63 V-B-14 - post_max_size.................................................................................................................................63 V-B-15 - magic_quotes_*...............................................................................................................................63 V-B-16 - default_mimetype............................................................................................................................ 64 V-B-17 - default_charset................................................................................................................................ 64 V-B-18 - include_path.................................................................................................................................... 64 V-B-19 - extension_dir................................................................................................................................... 64 V-B-20 - enable_dl......................................................................................................................................... 64 V-B-21 - upload_max_filesize........................................................................................................................ 65 V-B-22 - allow_url_*....................................................................................................................................... 65 V-C - Modules..................................................................................................................................................... 65 V-C-1 - Date...................................................................................................................................................65 V-C-2 - mail function......................................................................................................................................65 V-C-3 - Session..............................................................................................................................................66 V-C-4 - Tidy....................................................................................................................................................66 V-D - Extensions................................................................................................................................................. 66 VI - Concepts fondamentaux....................................................................................................................................67 VI-A - Fonctionnement d'un script........................................................................................................................67 VI-A-1 - Introduction.......................................................................................................................................67 VI-A-2 - Contrôle de l'exécution.....................................................................................................................68. VI-A-2-a - Arrêt du script.......................................................................................................................... 68 VI-A-2-b - Contrôle d'erreurs..................................................................................................................... 68 VI-A-3 - Contrôle du flux de sortie................................................................................................................. 68 VI-B - Structure d'un script..................................................................................................................................69 VI-C - Inclure un script dans un autre script....................................................................................................... 71 VI-C-1 - Introduction.......................................................................................................................................71 VI-C-2 - Les instructions include, include_once, require et require_once...................................................... 73 VI-C-3 - Chargement automatique de classes (inclusion implicite)................................................................73 VI-C-4 - Dangers............................................................................................................................................74 VI-C-5 - Bonnes pratiques............................................................................................................................. 75 VI-D - Sécurité au niveau du script..................................................................................................................... 76 VI-D-1 - Introduction.......................................................................................................................................76 VI-D-2 - Validation des données.....................................................................................................................76 VI-D-3 - Filtrage des données........................................................................................................................ 77 VI-D-4 - Utilisation des données.....................................................................................................................78 VI-D-5 - Dangers............................................................................................................................................79 VI-D-6 - Bonnes pratiques............................................................................................................................. 79 VI-E - En-têtes HTTP (headers)......................................................................................................................... 79 VI-E-1 - Introduction.......................................................................................................................................79 VI-E-2 - Quand faut-il envoyer les en-têtes ?.................................................................................................80 VI-E-3 - Dangers............................................................................................................................................ 82 VI-E-4 - Bonnes pratiques............................................................................................................................. 82 VI-F - Liens, URLs et paramètres GET............................................................................................................... 82 VI-F-1 - Introduction....................................................................................................................................... 82 VI-F-2 - Utilisation.......................................................................................................................................... 84 VI-F-3 - Construire une bonne URL............................................................................................................... 84 VI-F-4 - Construire un bon lien (balise HTML)...............................................................................................85 VI-F-5 - Dangers............................................................................................................................................ 85 VI-F-6 - Bonnes pratiques............................................................................................................................. 86 VI-G - Encodage des caractères........................................................................................................................ 86 VI-G-1 - Introduction...................................................................................................................................... 86 VI-G-2 - Encodage du script : système de fichiers.........................................................................................89 VI-G-3 - Encodage du document : entités HTML........................................................................................... 89 VI-G-4 - Encodage d'URL : la RFC 1738.......................................................................................................90 VI-G-5 - Entités HTML + RFC 1738...............................................................................................................91 VI-G-6 - Exemple d'encodage UTF-8............................................................................................................. 93 VI-G-7 - Exemple d'encodage ISO................................................................................................................. 93 VI-G-8 - Exemple de caractères UTF-8 encodés en ISO.............................................................................. 94 VI-G-9 - Exemple de caractères ISO encodés en UTF-8.............................................................................. 94 VI-G-10 - Espace occupé par l'encodage...................................................................................................... 95 VI-G-11 - Dangers..........................................................................................................................................96 VI-G-12 - Bonnes pratiques...........................................................................................................................96 VI-G-13 - Le module iconv............................................................................................................................ 97 VI-G-14 - L'extension mbstring....................................................................................................................... 98 VI-G-15 - Expressions régulières (PCRE) et Unicode................................................................................... 99 VII - Manipulation de données............................................................................................................................... 101 VII-A - Bases de données relationnelles........................................................................................................... 101 VII-A-1 - Introduction....................................................................................................................................101 VII-A-2 - Accès aux données........................................................................................................................101 VII-A-3 - Performances................................................................................................................................ 103 VII-A-4 - Bonnes pratiques.......................................................................................................................... 104 VII-B - Fichiers XML..........................................................................................................................................108 VII-B-1 - Introduction....................................................................................................................................108 VII-B-2 - Lecture : SimpleXML...................................................................................................................... 108 VII-B-3 - Écriture : DOM.............................................................................................................................. 109 VII-C - Services Web.........................................................................................................................................111 VII-C-1 - Introduction....................................................................................................................................111 VII-C-2 - SOAP (anciennement "Simple Object Access protocol").............................................................. 112 VII-C-3 - Remote Procedure Calls (RPC).................................................................................................... 113 VII-C-4 - Service-oriented architecture (SOA).............................................................................................. 114 VII-C-5 - REpresentational State Transfer (REST).......................................................................................117 VII-C-6 - Conclusion.....................................................................................................................................118 VII-D - Autres formats : PDF, ZIP, Flash, images, etc....................................................................................... 119 VIII - Exemples d'application.................................................................................................................................. 120 VIII-A - Introduction........................................................................................................................................... 120 VIII-B - Application simple.................................................................................................................................120 VIII-B-1 - Introduction...................................................................................................................................120 VIII-B-2 - Les scripts.................................................................................................................................... 120 VIII-B-3 - Avantages.....................................................................................................................................124 VIII-B-4 - Inconvénients............................................................................................................................... 124 VIII-C - Inclusions.............................................................................................................................................. 125 VIII-C-1 - Introduction...................................................................................................................................125 VIII-C-2 - Les scripts....................................................................................................................................125 VIII-C-3 - Nouveaux avantages.................................................................................................................... 128 VIII-C-4 - Nouveaux inconvénients............................................................................................................... 129 VIII-D - Sans l'extension ".php"..........................................................................................................................129 VIII-D-1 - Introduction...................................................................................................................................129 VIII-D-2 - Les scripts modifiés...................................................................................................................... 129 VIII-D-3 - Nouveaux avantages.................................................................................................................... 132 VIII-D-4 - Nouveaux inconvénients............................................................................................................... 132 VIII-E - Modèles (classes pour la BDD).............................................................................................................133 VIII-E-1 - Introduction...................................................................................................................................133 VIII-E-2 - Les scripts.................................................................................................................................... 133 VIII-E-3 - Nouveaux avantages.....................................................................................................................138 VIII-E-4 - Nouveaux inconvénients............................................................................................................... 138 VIII-F - URL Rewriting, ou Routage...................................................................................................................138 VIII-F-1 - Introduction................................................................................................................................... 138 VIII-F-2 - Les scripts.................................................................................................................................... 139 VIII-F-3 - Nouveaux avantages.....................................................................................................................142 VIII-F-4 - Nouveaux inconvénients............................................................................................................... 142 VIII-G - Design pattern MVC (modèle-vue-contrôleur)...................................................................................... 142 VIII-G-1 - Introduction.................................................................................................................................. 142 VIII-G-2 - Tous les scripts............................................................................................................................ 143 VIII-G-3 - Conclusion................................................................................................................................... 151 IX - Démarche qualité.............................................................................................................................................152 IX-A - Introduction............................................................................................................................................. 152 IX-B - Environnements...................................................................................................................................... 152 IX-B-1 - Introduction.....................................................................................................................................152 IX-B-2 - Serveur "dev"................................................................................................................................. 152 IX-B-3 - Serveur "staging/test"......................................................................................................................152 IX-B-4 - Serveur "production/live"................................................................................................................. 153 IX-B-5 - Conclusion......................................................................................................................................153 IX-C - Tests........................................................................................................................................................153 IX-C-1 - Introduction.....................................................................................................................................153 IX-C-2 - Tests unitaires................................................................................................................................ 153 IX-C-3 - Test-driven development (TDD)...................................................................................................... 153 IX-C-4 - Conclusion......................................................................................................................................154 IX-D - Débogage............................................................................................................................................... 154 IX-D-1 - Introduction.....................................................................................................................................154 IX-D-2 - Xdebug........................................................................................................................................... 154 IX-E - Motifs de conception (design patterns)................................................................................................... 155 IX-E-1 - Introduction.....................................................................................................................................155 IX-E-2 - Pattern MVC...................................................................................................................................155 IX-E-3 - Pattern Singleton............................................................................................................................155 IX-E-4 - Conclusion......................................................................................................................................156 IX-F - Frameworks.............................................................................................................................................156. IX-F-1 - Introduction..................................................................................................................................... 156 IX-F-2 - CakePHP........................................................................................................................................ 157 IX-F-3 - eZ Components..............................................................................................................................157 IX-F-4 - PEAR.............................................................................................................................................. 158 IX-F-5 - symfony.......................................................................................................................................... 158 IX-F-6 - Zend Framework............................................................................................................................ 158 IX-F-7 - Conclusion...................................................................................................................................... 159 X - Optimisation...................................................................................................................................................... 160 X-A - Optimiser un script PHP...........................................................................................................................160 X-B - Mise en cache......................................................................................................................................... 160 X-C - Compiler un script PHP............................................................................................................................160 X-D - Compiler PHP..........................................................................................................................................161 X-E - Développer une extension.......................................................................................................................161 XI - Aider la communauté.......................................................................................................................................163 XI-A - Introduction............................................................................................................................................. 163 XI-B - Détection et correction de bugs.............................................................................................................. 163 XI-C - Tester le code source de PHP................................................................................................................ 163 XI-D - Documentation........................................................................................................................................165 XI-E - Éducation................................................................................................................................................ 165 XII - Conclusion...................................................................................................................................................... 166 XII-A - Épilogue................................................................................................................................................. 166 XII-B - Liens.......................................................................................................................................................166Exemple de page de Cours de php 5
Pour visualiser la suite du document Cours de php 5 vous pouvez :
Le document Cours de php 5 appartient à la rubrique Programmation qui elle même appartient à la thématique Informatique.
Ils ont téléchargé aussi
Nouveaux documents Programmation