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