Table des matières
- Avant-propos
- 1. À qui s’adresse ce livre ?
- 2. Comment cet ouvrage est-il structuré ?
- Premiers pas avec Zend
- 1. Objectif
- 2. Quoi de neuf chez Zend ?
- 2.1 Zend Framework 2
- 2.2 Les nouveaux composants de Zend Framework 2
- 2.3 Packaging
- 2.4 Zend Framework est maintenant sur GitHub
- 2.5 Une nouvelle approche Mobile First pour Zend Studio
- 3. Installer Zend Server
- 3.1 Présentation
- 3.2 Installation
- 3.3 Configuration du fuseau horaire
- 4. Configurer Zend Server pour le déploiement d’applications
- 5. Installer Composer
- 5.1 Présentation
- 5.2 Installation
- 6. Installer Git
- 6.1 Présentation
- 6.2 Installation de Git pour Windows
- 6.3 Créer une paire de clés SSH privée/publique
- 7. Installer Zend Studio
- 7.1 Présentation
- 7.2 Installation
- 8. Créer une première application mobile avec Zend Studio
- 9. Comprendre la structure d’un projet d’API RESTful
- 9.1 Vue d’ensemble
- 9.2 Le répertoire public
- 9.2.1 Le fichier .htaccess
- 9.2.2 Le fichier index.php
- 9.3 Le répertoire config
- 9.3.1 Le fichier application.config.php
- 9.3.2 Le fichier gateway.global.php
- 9.3.3 Le fichier gateway.xml
- 9.4 Le répertoire src
- 9.4.1 Le fichier RestCustomerController.php
- 9.4.2 Le fichier CustomerRepository.php
- 9.5 Le répertoire data
- 9.6 Le répertoire scripts
- 9.7 Le répertoire vendor
- 9.8 Le fichier deployment.xml
- 9.9 Installer Zend Framework 2 avec Composer
- 9.10 Autoloading des classes avec Composer
- 9.11 Déployer le projet d’API RESTful
- 9.12 Tester le projet d’API RESTful
- 10. Comprendre la structure d’un projet d’application mobile
- 10.1 Vue d’ensemble
- 10.2 Le fichier mobile.appGUI
- 10.3 Le fichier index.html
- 10.4 Le répertoire js
- 10.5 Le répertoire style
- 10.6 Le fichier config.xml
- 10.7 Tester le projet d’application mobile
- 11. Rester attentif à l’utilisateur avec le design UX
- 12. Conclusion
- Architecture orientée par le domaine
- 1. Objectif
- 2. Comprendre les stratégies de modélisation du modèle de domaine
- 2.1 Pattern et antipattern
- 2.2 Antipattern : le modèle de domaine anémique
- 2.3 Le pattern Domain Model
- 3. L’approche DDD et le langage ubiquitaire
- 4. Architecture orientée par le domaine
- 4.1 Vue d’ensemble
- 4.2 La couche de domaine
- 4.3 La couche de persistance des données
- 4.4 La couche d’API web
- 5. Valider les données
- 5.1 Position du problème
- 5.2 Quand valider les données ?
- 5.3 Où valider les données ?
- 5.4 Comment valider les données ?
- 6. Implémenter le squelette de l’application mobile de gestion des tâches
- 7. Mettre en pratique le pattern Domain Model
- 7.1 Diagramme de classes
- 7.2 Définition des agrégats
- 8. Mettre en pratique le pattern Value Object
- 8.1 Objectif
- 8.2 Implémentation de la classe abstraite ValueObject
- 8.3 Implémentation de la classe Period
- 8.4 Implémentation de la classe Credential
- 8.5 Implémentation de la classe Keys
- 9. Mettre en pratique le pattern Entity
- 9.1 Objectif
- 9.2 Implémentation de la classe abstraite Entity
- 9.3 Implémentation de l’entité Comment
- 10. Mettre en pratique le pattern Aggregate
- 10.1 Objectif
- 10.2 Implémentation de l’agrégat User
- 10.3 Implémentation de l’agrégat Category
- 10.4 Implémentation de l’agrégat Task
- 11. Mettre en pratique la validation des données
- 11.1 Objectif
- 11.2 Création de l’interface ValidatableObjectInterface
- 11.3 Les composants ZendInputFilter et ZendValidator
- 11.4 Implémentation de la validation sur l’agrégat Task
- 11.5 Implémentation de la validation sur l’agrégat Category
- 11.6 Implémentation de la validation sur l’agrégat User
- 12. Comprendre la notion de contrat d’interface
- 12.1 Objectif
- 12.2 Implémentation de l’interface CategoryRepositoryInterface
- 12.3 Implémentation de l’interface TaskRepositoryInterface
- 12.4 Implémentation de l’interface UserRepositoryInterface
- 13. Bonnes pratiques pour un modèle de domaine robuste
- 13.1 Les frameworks de tests unitaires pour PHP
- 13.2 Le Test Driven Development
- 13.3 Préparation du projet pour les tests unitaires
- 13.4 Tests unitaires sur l’entité Category
- 13.5 Tests unitaires sur l’objet-valeur Period
- 13.6 Tests unitaires sur l’agrégat Task
- 14. Conclusion
- Persistance des données
- 1. Objectif
- 2. La révolution du NoSQL
- 3. Initiation à MongoDB
- 3.1 Généralités
- 3.2 Structure d’un document
- 3.3 Document embarqué
- 3.4 Références
- 3.5 Bonne pratique : document embarqué ou référence ?
- 3.6 Requêtage des données
- 4. Installer MongoDB
- 4.1 Installation de base
- 4.2 Installation comme service Windows
- 5. Construire des requêtes dans MongoDB
- 5.1 Insertion de données
- 5.2 Sélection de données
- 5.3 Sélecteur de requête
- 5.4 Mise à jour de données
- 5.5 Suppression de données
- 6. Activer l’extension PHP pour MongoDB
- 7. Stratégies d’accès aux bases de données NoSQL
- 7.1 Vue d’ensemble
- 7.2 Présentation de Doctrine
- 7.3 Installation de Doctrine MongoDB ODM Module
- 8. Modéliser la structure des données persistantes
- 8.1 Structure des données d’un utilisateur
- 8.2 Structure des données d’une catégorie
- 8.3 Structure des données d’une tâche
- 9. Mapper les entités du domaine avec Doctrine
- 9.1 Principe du mapping
- 9.2 Mapping de l’entité de base Entity
- 9.3 Mapping de l’entité Comment
- 9.4 Mapping de l’objet-valeur Period
- 9.5 Mapping de l’objet-valeur Credential
- 9.6 Mapping de l’objet-valeur Keys
- 9.7 Mapping de l’agrégat User
- 9.8 Mapping de l’agrégat Category
- 9.9 Mapping de l’agrégat Task
- 10. Accéder aux données avec le pattern Repository
- 10.1 Principe du motif de conception Repository
- 10.2 Création de la classe CategoryRepository
- 10.3 Création de la classe TaskRepository
- 10.4 Création de la classe UserRepository
- 10.5 Tests unitaires
- 11. Conclusion
- Créer des services web RESTful avec Zend Studio
- 1. Objectif
- 2. Principe des API RESTful
- 3. Principe des API RPC
- 4. Le composant Zend Server Gateway
- 4.1 Vue d’ensemble
- 5. Gérer les codes de retour HTTP
- 6. Injection de dépendances
- 6.1 Principe
- 6.2 Injection de dépendances avec le composant ZendServiceManager
- 6.3 Mise en pratique de l’injection de dépendances
- 7. Implémenter l’API de manipulation des utilisateurs
- 7.1 Création du contrôleur de gestion des utilisateurs
- 7.2 Enregistrer l’utilisateur
- 7.3 Authentifier l’utilisateur
- 7.4 Résumé
- 8. Implémenter l’API de manipulation des catégories
- 8.1 Création du contrôleur d’API de gestion des catégories
- 8.2 Ajouter une nouvelle catégorie
- 8.3 Mettre à jour une catégorie
- 8.4 Lister les catégories
- 8.5 Sélectionner une catégorie
- 8.6 Supprimer une catégorie
- 8.7 Résumé
- 9. Implémenter l’API de manipulation des commentaires
- 9.1 Création du contrôleur d’API de gestion des commentaires
- 9.2 Ajouter un commentaire
- 9.3 Mettre à jour un commentaire
- 9.4 Lister les commentaires
- 9.5 Sélectionner un commentaire
- 9.6 Supprimer un commentaire
- 9.7 Résumé
- 10. Implémenter l’API de manipulation des tâches
- 10.1 Création du contrôleur d’API de gestion des tâches
- 10.2 Ajouter une nouvelle tâche
- 10.3 Mettre à jour une tâche
- 10.4 Lister les tâches
- 10.5 Sélectionner une tâche
- 10.6 Supprimer une tâche
- 10.7 Résumé
- 11. Sécuriser une API RESTful
- 11.1 Authentification des API
- 11.2 Implémenter l’authentification
- 11.3 Désactiver l’authentification de l’API de gestion des utilisateurs
- 12. Conclusion
- Démarrer avec jQuery Mobile
- 1. Objectif
- 2. Introduction à jQuery Mobile
- 2.1 Anatomie d’une page avec jQuery Mobile
- 2.2 Utilisation des balises sémantiques HTML5
- 2.3 Le composant Dialog
- 2.4 Les templates multipages
- 2.5 Le composant Navbar
- 2.6 Le composant Button
- 2.7 Le composant Listview
- 2.8 Les éléments de formulaire
- 2.9 Les thèmes
- 3. Comprendre le principe du Responsive Web Design
- 4. Les composants au rendu adaptatif dans jQuery Mobile
- 4.1 Présentation
- 4.2 Le composant Table en mode Reflow
- 4.3 Le composant Table et le mode Column Toggle
- 5. Développer des templates côté client avec Underscore
- 5.1 Principe du templating
- 6. Mise en pratique du templating avec Underscore
- 6.1 Objectif
- 6.2 Préparation du dossier des templates
- 6.3 Implémentation du template de listage des catégories
- 6.4 Implémentation du template de création d’une catégorie
- 6.5 Implémentation du template d’édition d’une catégorie
- 6.6 Implémentation du template de vue de détail d’une catégorie
- 6.7 Implémentation du template de listage des tâches
- 6.8 Implémentation du template de création d’une tâche
- 6.9 Implémentation du template d’édition d’une tâche
- 6.10 Implémentation du template de vue de détail d’une tâche
- 6.11 Implémentation du template de création d’un commentaire
- 6.12 Implémentation du template d’édition d’un commentaire
- 7. Résumé
- JavaScript avancé
- 1. Architecture SPA avec Backbone.js
- 1.1 Qu’est-ce qu’une SPA ?
- 1.2 Présentation de Backbone.js
- 2. Les modèles Backbone
- 2.1 Qu’est-ce qu’un modèle ?
- 2.2 Accéder à l’identité d’un modèle
- 2.3 Instancier un modèle
- 2.4 Accéder aux données d’un modèle
- 2.5 Gérer les événements du modèle
- 2.6 Valider les données des modèles
- 3. Les collections Backbone
- 3.1 Qu’est-ce qu’une collection ?
- 3.2 Instancier une collection
- 3.3 Manipuler les éléments d’une collection
- 3.4 Trier les éléments d’une collection
- 3.5 Parcourir les éléments d’une collection
- 3.6 Gérer les événements d’une collection
- 4. Les vues Backbone
- 4.1 Qu’est-ce qu’une vue ?
- 4.2 La propriété el
- 4.3 Instancier une vue
- 5. Le routeur Backbone
- 5.1 Qu’est-ce qu’un routeur ?
- 5.2 Configurer les règles de routage
- 6. Implémenter le squelette d’une application JavaScript
- 7. Interagir avec le serveur
- 7.1 Principe
- 7.2 Sélectionner les données du modèle
- 7.3 Créer ou mettre à jour un modèle
- 7.4 Supprimer un modèle
- 8. Authentification des applications JavaScript
- 9. Structurer le code JavaScript en modules
- 9.1 Objectif des modules
- 9.2 Comprendre les modules AMD
- 9.3 Présentation de RequireJS
- 10. Modulariser les modèles Backbone
- 10.1 Implémentation du modèle CategoryModel
- 10.2 Implémentation du modèle UserModel
- 10.3 Implémentation du modèle CommentModel
- 10.4 Implémentation du modèle TaskModel
- 11. Modulariser les collections Backbone
- 11.1 Implémentation de la collection CategoriesCollection
- 11.2 Implémentation de la collection UsersCollection
- 11.3 Implémentation du modèle TasksCollection
- 12. Modulariser les vues Backbone
- 12.1 Implémentation de la vue CategoriesListView
- 12.2 Implémentation de la vue CategoryCreateView
- 12.3 Implémentation de la vue CategoryEditView
- 12.4 Implémentation de la vue CategoryDetailView
- 12.5 Implémentation de la vue TasksListView
- 12.6 Implémentation de la vue TaskCreateView
- 12.7 Implémentation de la vue TaskEditView
- 12.8 Implémentation de la vue TaskDetailView
- 12.9 Implémentation de la vue CommentCreateView
- 12.10 Implémentation de la vue CommentEditView
- 12.11 Implémentation de la vue UserLoginView
- 12.12 Implémentation de la vue UserRegisterView
- 13. Conclusion
- 1. Architecture SPA avec Backbone.js
- Développer dans le Cloud pour le Cloud
Soyez le premier à donner votre avis sur “Zend Framework 2”