Zend Framework 2

22800 CFA

Ce livre sur le développement d’applications web mobiles avec Zend Framework 2, Zend Server et Zend Studio, s’adresse à tous les développeurs qui souhaitent approfondir leurs connaissances sur le développement d’applications mobiles connectées au Cloud avec PHP. C’est aussi l’occasion de découvrir les fonctionnalités apportées par les formulaires HTML5, le framework jQuery Mobile ou la base de données NoSQL MongoDB.

Dans une première partie, vous apprendrez comment les solutions Zend permettent d’améliorer votre productivité en même temps que la qualité des applications PHP développées. L’auteur présente ensuite les objectifs de l’étude de cas utilisée tout au long du livre pour illustrer les bonnes pratiques de développement d’applications mobiles avec les solutions Zend, HTML5 et jQuery Mobile. Vous verrez ainsi comment mettre en pratique les motifs de conception issus du Domain Driven Design ainsi que la manière d’écrire des tests unitaires sur ces design patterns avec PHPUnit. À la fin de cette première partie, vous disposerez d’une application PHP pour le web mobile, fonctionnelle.

Dans une deuxième partie, vous apprendrez à utiliser des techniques de programmation JavaScript avancées qui permettent une meilleure organisation du code JavaScript lorsqu’une application web contient beaucoup de code côté client. Le framework Backbone.JS ainsi que la librairie Require.JS seront utilisés conjointement à jQuery Mobile afin d’améliorer la modularité du code JavaScript produit. À la fin de cette deuxième partie, vous saurez comment déployer une application PHP pour le web mobile sur le Cloud avec Zend Studio.

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
  • Développer dans le Cloud pour le Cloud
Catégorie

Avis des clients

Il n'y a pas encore d'avis.

Soyez le premier à donner votre avis sur “Zend Framework 2”

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Plus d'offres pour ce produit!

Questions et demandes générales

Il n'y a pas encore de demandes de renseignements.