x Pratique de MySQL et PHP Troisième partie – Compléments Chapitre 9 – Introduction au Zend Framework 357 9.1 Miseenroute 358 9.1.1 Installation d’une application ZF 358 9.1.2 Redirection des requêtes avec le ZF 359 9.1.3 Organisation et conventions 360 9.1.4 Routage des requêtes dans une application Zend 362 9.1.5 Configuration 365 9.1.6 Connexion à la base de données 366 9.1.7 Le registre 367 9.1.8 Contrôleurs, actions et vues 367 9.2 Accès à la base de données . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 369 9.2.1 Interrogation 370 9.2.2 Insertion et mise à jour 372 9.3 Le MVC du Zend Framework. . . . . . . . . . . 373 9.3.1 L’objet request 373 9.3.2 L’objet response 374 9.3.3 Gérer les exceptions 374 9.4 La vue dans le Zend Framework . . . . . . . 376 9.4.1 Les vues sont des scripts PHP 376 9.4.2 Le layout 377 9.4.3 Créer des Helpers 378 9.5 Le composant Modèle duZendFramework 379 9.5.1 L’ORM du Zend Framework 379 9.5.2 Le modèle ORM de l’application 380 9.5.3 Manipulation des données avec les classes ORM 383 9.6 Pourconclure 385 Chapitre 10 – Récapitulatif SQL 387 10.1 Sélections 388 10.1.1 Renommage, fonctions et constantes 389 10.1.2 La clause DISTINCT 392 10.1.3 La clause ORDER BY 393 Table des matières xi 10.1.4 La clause WHERE 393 10.1.5 Dates 396 10.1.6 Valeurs nulles 396 10.1.7 Clauses spécifiques à MySQL 398 10.2 Jointures 399 10.2.1 Interprétation d’une jointure 399 10.2.2 Gestion des ambiguïtés 401 10.2.3 Jointures externes 404 10.3 Opérationsensemblistes 405 10.4 Requêtesimbriquées 406 10.4.1 Exemples de requêtes imbriquées 407 10.4.2 Requêtes corrélées 409 10.4.3 Requêtes avec négation 411 10.5 Agrégation . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413 10.5.1 La clause GROUP BY 413 10.5.2 La clause HAVING 415 10.6 Misesàjour 416 10.6.1 Insertion 416 10.6.2 Destruction 417 10.6.3 Modification 417 Chapitre 11 – Récapitulatif PHP 419 11.1 Généralités 419 11.1.1 Commentaires 420 11.1.2 Variables et littéraux 420 11.1.3 Constantes 421 11.2 Types 422 11.2.1 Types numériques et booléens 422 11.2.2 Chaînes de caractères 422 11.2.3 Tableaux 423 11.2.4 Conversion et typage 425 11.3 Expressions 426 xii Pratique de MySQL et PHP 11.4 Opérateurs 427 11.4.1 Concaténation de chaînes 428 11.4.2 Incrémentations 428 11.4.3 Opérateurs de bits 429 11.4.4 Opérateurs logiques 429 11.5 Structuresdecontrôle 430 11.5.1 Tests 431 11.5.2 Boucles 432 11.5.3 Les instructions break et continue 434 11.6 Fonctions 435 11.6.1 Passage des arguments 435 11.6.2 Valeurs par défaut 437 11.6.3 Fonctions et variables 437 11.7 Programmation orientée-objet . . . . . . 440 11.7.1 Classes et objets 440 11.7.2 Constructeurs et destructeurs 441 11.7.3 Sous-classes 442 11.7.4 Manipulation des objets 442 11.7.5 Compléments 443 Quatrième partie – Annexes Annexe A – Installation Apache/PHP/MySQL 447 A.1 Mot de passe root 447 A.2 Création de bases et d’utilisateurs . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 448 A.2.1 La commande GRANT 449 A.2.2 Modification des droits d’accès 451 A.3 Fichiersdeconfiguration 452 A.3.1 Format d’un fichier de configuration 452 A.3.2 Les différents fichiers 452 A.3.3 Configuration du serveur 453 A.3.4 Configuration d’un compte administrateur 454 A.4 Sauvegardes . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 455 A.5 phpMyAdmin 457 Table des matières xiii Annexe B – Référence MySQL 461 B.1 TypesdedonnéesMySQL 461 B.2 CommandesdeMySQL 465 B.3 FonctionsMySQL 475 Annexe C – Fonctions PHP 485 C.1 Fonctionsgénérales 486 C.2 Chaînesdecaractères 493 C.3 Dates 496 C.4 Tableaux 497 C.5 FonctionsXML 500 C.6 Accès aux fichiers . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504 C.7 InterfacePHP/MySQL 507 Index général 517 Index des fonctions PHP 523 Index des commandes SQL 527 Table des figures 531 . xiii Annexe B – Référence MySQL 461 B.1 TypesdedonnéesMySQL 461 B.2 CommandesdeMySQL 465 B.3 FonctionsMySQL 475 Annexe C – Fonctions PHP 485 C.1 Fonctionsgénérales 486 C.2 Chaînesdecaractères 493 C.3. . . . . . . . . . . . . . . . 504 C.7 InterfacePHP /MySQL 507 Index général 517 Index des fonctions PHP 523 Index des commandes SQL 527 Table des figures 531 . 422 11.2.1 Types numériques et booléens 422 11.2.2 Chaînes de caractères 422 11.2.3 Tableaux 423 11.2.4 Conversion et typage 425 11.3 Expressions 426 xii Pratique de MySQL et PHP 11.4 Opérateurs 427 11.4.1