Mon panier 0

Zend Framework 2 Industrialisez vos développements PHP

  • Imprimé
  • Numérique
  • Imprimé + Numérique
42,7545,00 €A paraître le 02/04/2013
Ajouter au panier

Présentation

Ce support sur Zend Framekork 2 s'adresse à des développeurs PHP et à des chefs de projets souhaitant intégrer une démarche d'industrialisation et des processus qualité à leurs projets de développement. Cette version 2 du populaire Zend Framework a été entièrement réécrite pour aboutir à un outil performant, modulaire et extensible qui devient le socle sur lequel une équipe de développement va construire des projets robustes et pérennes. Une bonne connaissance de PHP est souhaitable pour tirer le meilleur parti de ce livre.

Dans ces pages, l’auteur s’appuie sur la création d'une application pour présenter les composants clés de Zend Framework 2. Après avoir installé le contexte applicatif, il détaille les processus qualité à mettre en place (intégration continue et outils propres à PHP), les aspects relatifs à la sécurité ainsi que les techniques utilisées par le Zend Framework 2 parmi lesquelles la programmation événementielle ou les annotations. Il détaille également comment gérer les dépôts Git : positionner le code commun à plusieurs applications, inclure des projets tierces et récupérer leurs mises à jour. La méthode décrite est adaptable à d'autres gestionnaires de dépôts décentralisés, tels que Mercurial ou Baazar.

Enfin, pour répondre à des besoins beaucoup plus larges, l’auteur décrit l’emploi de composants tierces (Pear) ou comment utiliser Doctrine en s’appuyant sur des exemples concrets.

Des éléments complémentaires sont en téléchargement sur le site www.editions-eni.fr.


Les chapitres du livre :
Avant-propos – Introduction – Un peu de théorie – Application blanche – Le module, notions de base – Le module, aspects avancés – Plus loin avec les modèles – Outils transverses - Génération de contenu tiers – Communication inter-applicative – Sécurité – Concepts clés utilisés par ZF2 - Réponses aux problématiques de performance

Table des matières

  • Avant-propos
    • 1. Lectorat
    • 2. Contenu du livre
    • 3. Pré-requis
  • Introduction
    • 1. Un peu d’histoire
      • 1.1 Petite histoire de l’informatique
      • 1.2 Petite histoire des langages informatiques
      • 1.3 Petite histoire de PHP
      • 1.4 Petite histoire de Zend Framework
      • 1.5 Regard vers le futur
    • 2. Choix
      • 2.1 Choix du langage
      • 2.2 Choix du framework
    • 3. Installations
      • 3.1 Installer un serveur Apache - PHP
        • 3.1.1 Sous une distribution Linux en utilisant le gestionnaire de paquets
        • 3.1.2 Par la compilation
        • 3.1.3 Sous Windows
      • 3.2 Installer des serveurs PostgreSQL, MySQL et SQLite
      • 3.3 Installation de PEAR, PECL et d'autres packages
    • 4. Logiciels utiles
      • 4.1 Pour Apache
      • 4.2 Pour MySQL
      • 4.3 Pour PostgreSQL
      • 4.4 Pour SQLite
      • 4.5 Environnement de développement
      • 4.6 Intégration continue
  • Un peu de théorie
    • 1. Génie logiciel
      • 1.1 IHM
      • 1.2 Client/Serveur
      • 1.3 3-tier
      • 1.4 MVC en général
      • 1.5 MVC appliqué au Web
    • 2. Application à PHP
      • 2.1 Présentation des serveurs web
      • 2.2 Grands principes de PHP
      • 2.3 Points forts et points faibles de PHP
      • 2.4 La place de PHP
      • 2.5 Industrialisation des développements
    • 3. Bases de données
      • 3.1 Qu’est-ce qu’une base de données relationnelle ?
      • 3.2 Les bases relationnelles courantes
      • 3.3 Présentation rapide de PDO
    • 4. La solution Zend Framework
      • 4.1 Pourquoi choisir Zend Framework
      • 4.2 Structurer ses développements
      • 4.3 Répartir les tâches
      • 4.4 Maîtriser les coûts
    • 5. Qualité logicielle
      • 5.1 Intégration continue
      • 5.2 Tests unitaires
      • 5.3 Métriques
      • 5.4 Détection d’erreurs
      • 5.5 Duplication de code
      • 5.6 Lisibilité
  • Application blanche
    • 1. Introduction
      • 1.1 Application blanche
      • 1.2 Squelette d'application
    • 2. Squelette de l'application
      • 2.1 Installation du ZendSkeletonApplication
      • 2.2 Déclaration des autres dépendances
      • 2.3 Mettre à jour les dépendances
      • 2.4 Analyse succincte du code obtenu
      • 2.5 Recommandations générales
    • 3. Configuration du serveur
      • 3.1 Création d'un hôte virtuel
      • 3.2 Création d'un alias
      • 3.3 Recommandations générales
        • 3.3.1 Apache
        • 3.3.2 PHP
    • 4. Création de l'application blanche
      • 4.1 Bibliothèques personnalisées
      • 4.2 Jeu de templates
      • 4.3 Gestion de l'authentification
      • 4.4 Modules réutilisables ou fréquemment utilisés
      • 4.5 Recommandations générales
  • Le module, notions de base
    • 1. Introduction et installation
      • 1.1 Notion de module
      • 1.2 Initialisation du dépôt de l'application galerie
      • 1.3 Création d'un hôte virtuel
      • 1.4 Création d'un alias
    • 2. Initialisation d'un module
      • 2.1 Création de l'arborescence d'un module
      • 2.2 Création du fichier Module.php
      • 2.3 Gestion du chargement automatique
        • 2.3.1 AutoloaderProviderInterface
        • 2.3.2 StandardAutoloader
        • 2.3.3 ClassMapAutoloader
      • 2.4 Gestion des sources
        • 2.4.1 ConfigProviderInterface
        • 2.4.2 Configuration minimaliste
        • 2.4.3 Déclaration de la template_map
      • 2.5 Gestion des routes
      • 2.6 Création du contrôleur et des vues
      • 2.7 Configuration de l'internationalisation
        • 2.7.1 Fichier de configuration
        • 2.7.2 Module.php
        • 2.7.3 Installation et configuration de Poedit
        • 2.7.4 Création du projet Poedit
        • 2.7.5 Modification des vues
      • 2.8 Configuration de l'accès aux modèles
      • 2.9 Configuration d'aide de vue
    • 3. Modèles Zend\Db - Notions de base
      • 3.1 Introduction
      • 3.2 Classe Entité (Entity)
        • 3.2.1 Introduction
        • 3.2.2 Utilisation des accesseurs et des mutateurs
        • 3.2.3 Utilisation des tableaux
      • 3.3 Classe Gestionnaire (EntityManager)
        • 3.3.1 Premier jet
        • 3.3.2 Création d'un gestionnaire abstrait
        • 3.3.3 Extension du modèle à des fonctionnalités plus larges
      • 3.4 Création de requêtes SQL
        • 3.4.1 Se donner les moyens de voir ce que l'on fait
        • 3.4.2 Possibilités offertes par select
        • 3.4.3 Possibilités offertes par insert
        • 3.4.4 Possibilités offertes par update
        • 3.4.5 Possibilités offertes par delete
      • 3.5 Entité et gestionnaire pour plusieurs tables
      • 3.6 Utilisation du modèle
    • 4. Contrôleurs - Notions de base
      • 4.1 Introduction
      • 4.2 Gestion de l'accès aux données
      • 4.3 Affichage d'une liste de données
      • 4.4 Affichage d’une donnée unique
      • 4.5 Traitement de la requête
      • 4.6 Traitement de la réponse
    • 5. Vues - Notions de base
      • 5.1 Introduction
      • 5.2 Organisation de sa présentation
      • 5.3 Utilisation des aides de vues
    • 6. Formulaires - Notions de base
      • 6.1 Introduction
      • 6.2 Partage des responsabilités
      • 6.3 Création d'un formulaire
      • 6.4 Impacts sur un modèle Zend\Db
      • 6.5 Affichage du formulaire dans la vue
      • 6.6 Utilisation d'un formulaire
      • 6.7 Internationalisation
        • 6.7.1 Labels, version simple
        • 6.7.2 Labels, version élaborée
        • 6.7.3 Messages d'erreurs
  • Le module, aspects avancés
    • 1. Les formulaires - Notions avancées
      • 1.1 Réalisation d'un composant générique
        • 1.1.1 Objectifs pour le formulaire
        • 1.1.2 Objectifs pour l'entité
        • 1.1.3 Classes permettant d'atteindre ces objectifs
      • 1.2 Présentation des différents éléments de formulaire
        • 1.2.1 Présentation générale
        • 1.2.2 Champs simples
        • 1.2.3 Label
        • 1.2.4 Champs temporels
        • 1.2.5 Champs nécessitant des données
        • 1.2.6 Champs multiples
      • 1.3 Utiliser Ajax
      • 1.4 Personnaliser le rendu graphique
    • 2. Les contrôleurs - Notions avancées
      • 2.1 Créer un contrôleur Ajax
      • 2.2 Créer des interfaces plus conviviales
      • 2.3 Aides d'action
        • 2.3.1 Présentation générale
        • 2.3.2 Redirection
        • 2.3.3 Params
        • 2.3.4 FlashMessenger
        • 2.3.5 Forward
      • 2.4 Créer une aide d'action
    • 3. Les vues - Notions avancées
      • 3.1 Configuration avancée des vues
      • 3.2 Création d'un layout
      • 3.3 Relations contrôleur/layout/vues
      • 3.4 Création d'aides de vues
      • 3.5 Utiliser les possibilités du langage HTML5
      • 3.6 Utiliser des frameworks ou des bibliothèques JavaScript
      • 3.7 Rajouter des frameworks CSS
  • Plus loin avec les modèles
    • 1. Modèles Zend\Db - Notions avancées
      • 1.1 Créer une requête pour une liste de sélection
        • 1.1.1 Contexte
        • 1.1.2 Composant générique
        • 1.1.3 Utilisation du composant
      • 1.2 Hydrator
        • 1.2.1 Utilisation des accesseurs et mutateurs
        • 1.2.2 Utilisation des propriétés
        • 1.2.3 Tableau
        • 1.2.4 Hydrating
        • 1.2.5 Stratégies
        • 1.2.6 Lien avec les formulaires
    • 2. Modèles Doctrine
      • 2.1 Introduction
      • 2.2 Classe modèle
      • 2.3 Utilisation du modèle
  • Outils transverses
    • 1. Session
      • 1.1 Stocker un élément de la session
        • 1.1.1 Conteneur
        • 1.1.2 Configurations
    • 2. Système de cache
      • 2.1 APC
      • 2.2 Autres systèmes de cache
    • 3. Logging
      • 3.1 Écrire dans un fichier de log
      • 3.2 Logging interactif
    • 4. Gestion des identités et des permissions
      • 4.1 Outils proposés par ZF2
        • 4.1.1 Authentification
        • 4.1.2 Permissions
      • 4.2 ZfcUser
        • 4.2.1 Introduction
        • 4.2.2 Installation du projet
        • 4.2.3 Modification de la base de données
  • Génération de contenu tiers
    • 1. CSV
      • 1.1 Pré-requis
        • 1.1.1 Désactiver la partie vue
        • 1.1.2 Gérer la forme de la réponse
      • 1.2 Réalisation de l'export CSV
        • 1.2.1 Gérer les données
        • 1.2.2 Envoyer le résultat
    • 2. Excel
      • 2.1 Pré-requis
        • 2.1.1 Installation d'un module PEAR
        • 2.1.2 Chargement à la demande du module
      • 2.2 Réalisation de l'export Excel
        • 2.2.1 Création d'un composant générique
        • 2.2.2 Réalisation d'un exemple concret
    • 3. Courriels
      • 3.1 Envoyer un courriel
      • 3.2 Gérer l'envoi aux formats Texte et HTML
      • 3.3 Utiliser des templates
    • 4. Diagrammes
      • 4.1 Création d'un composant générique
      • 4.2 Création d'un composant concret
      • 4.3 Création du contrôleur
      • 4.4 Affichage du graphique
  • Communication inter-applicative
    • 1. XML-RPC
      • 1.1 Introduction
      • 1.2 Serveur
      • 1.3 Client
    • 2. SOAP
      • 2.1 Introduction
      • 2.2 Serveur
      • 2.3 Client
    • 3. RSS
      • 3.1 Writer
      • 3.2 Reader
    • 4. REST
      • 4.1 Introduction
      • 4.2 Utilisation
  • Sécurité
    • 1. Considérations générales sur la sécurité
    • 2. Consignes élémentaires
      • 2.1 Votre application vit dans un écosystème
      • 2.2 Suivre des règles de codage claires
      • 2.3 Toujours vérifier les données
      • 2.4 Bien utiliser la session
      • 2.5 Ne pas donner d'indices
    • 3. Mettre en place une politique de sécurité
      • 3.1 Paramétrage des serveurs
      • 3.2 La session
      • 3.3 Utilisation du cryptage
      • 3.4 Processus de création d'un compte utilisateur
      • 3.5 Stockage du mot de passe
      • 3.6 Processus d'authentification
      • 3.7 Utilisation des courriels
      • 3.8 Conclusion
    • 4. Points faibles usuels
      • 4.1 XSS
      • 4.2 CSRF
      • 4.3 Fixation de session
      • 4.4 Injections de code SQL
      • 4.5 Conclusion
  • Concepts clés utilisés par ZF2
    • 1. Nouvelles pratiques
      • 1.1 Espaces de nommage
      • 1.2 Fonctions anonymes
      • 1.3 Closures
      • 1.4 Inclusion de tableaux
      • 1.5 Utilisation d'interfaces
    • 2. Motifs de conception usuels
      • 2.1 Singleton
      • 2.2 Fabrique
      • 2.3 Proxy
      • 2.4 Template
      • 2.5 Décorateur
      • 2.6 Prototype
      • 2.7 Adaptateur
      • 2.8 Itérateur
      • 2.9 Chaîne de responsabilité
      • 2.10 Fonction de rappel
    • 3. Injection de dépendance
      • 3.1 Explication de la notion
      • 3.2 Injecteur de dépendance
        • 3.2.1 Introduction
        • 3.2.2 Définir les dépendances précisément
    • 4. Annotations
      • 4.1 Explication de la notion
      • 4.2 Gestionnaire d'annotations
    • 5. Programmation événementielle
      • 5.1 Explication de la notion
      • 5.2 Gestionnaire d'événements
        • 5.2.1 Description des composants ZF2
        • 5.2.2 Utilisation du gestionnaire d'événements
  • Réponses aux problématiques de performance
    • 1. Modèles
      • 1.1 Règles générales
      • 1.2 Optimisations côté base de données
        • 1.2.1 Mieux vaut faire travailler SQL que PHP
        • 1.2.2 Recommandation de conception pour les clés primaires
        • 1.2.3 Utilisation des index
        • 1.2.4 Utilisation des déclencheurs
      • 1.3 Optimisations côté ZF2 pour l'accès aux données
        • 1.3.1 Mieux vaut faire travailler SQL que PHP
        • 1.3.2 Recommandation d'utilisation pour les clés primaires
        • 1.3.3 Utilisation des vues
        • 1.3.4 Le point de vue extrême
      • 1.4 Optimisations côté ZF2 pour l'écriture de données
        • 1.4.1 Mieux vaut faire travailler SQL que PHP
        • 1.4.2 Cas particulier du clonage de données
        • 1.4.3 Modifier plusieurs enregistrements en une requête
        • 1.4.4 Le point de vue extrême
      • 1.5 Cache de données
      • 1.6 Outils tiers
    • 2. Architecture
      • 2.1 Les bases
        • 2.1.1 Chargement automatique
        • 2.1.2 Correction d'erreurs
        • 2.1.3 Trop grand nombre de classes
        • 2.1.4 Trop grand nombre de méthodes
      • 2.2 Bonne utilisation de l'architecture de ZF2
      • 2.3 Utiliser un cache d'opcode
    • 3. Évaluer son propre code
      • 3.1 Évaluation générale
      • 3.2 Évaluation fine
      • Index

Caractéristiques

Imprimé
  • 336 pages
  • Reliure spirale - 17 x 21 cm (Médian)
  • Niveau : Confirmé à expert
  • Ref. ENI : EIM2ZEN
  • Expédié dans les 24 heures
Numérique

Téléchargement

Compte WebPro
promo
Découvrez nos offres numériques
Supports Numériques mediapage
Offres Spéciales
Bundle