Formation Laminas (ex Zend Framework)
Laminas est un projet open source qui prend le relai de Zend Framework, un framework PHP populaire pour le développement d'applications web. Il est développé par les mêmes personnes qui ont créé Zend Framework et est maintenu par la communauté Laminas. Laminas est un framework complet qui fournit une variété de composants pour le développement d'applications web, tels que des composants pour les formulaires, la validation des données, la gestion des événements, la gestion des erreurs, la sécurité, la gestion des bases de données, etc. Il utilise également des concepts de programmation orientée objet pour organiser le code de votre application. Laminas est un framework PHP qui se destine principalement aux entreprises à la recherche de flexibilité, le framework met en avant de nombreux Design Pattern afin de faciliter l'évolution du code ou l'automatisation des tests.
Objectifs pédagogiques
- Comprendre les mécanismes avancés de la Programmation Orientée Objet
Pré-requis
- Savoir lire
- Savoir compter
- Allumer l'ordinateur
Public
- Développeurs
- Chefs de projets
Programme
Jour 1
Programmation Orientée Objet en PHP
- Rappels sur les classes et les objets
- Héritage
- Les principes SOLID
- Interfaces, Classes Abstraites et Traits
- Les Design Patterns : Architecture MVC, Data Mapper, Table Gateway, Front Controller, Two Step View...
- Inversion de contrôle et Injection de dépendance
- Auto-chargement de classes
Installation
- Zend Framework et Laminas, quelles différences ?
- Les normes PSRs et PERs
- Installation avec Composer
- Présentation du squelette d'application
- Configuration d'Apache
Création de ses premières pages
- Création de modules
- Configuration des routes
- Les plugins de contrôleurs
- Gestion des templates avec laminas-view
- Les aides de vues
Jour 2
Accès aux bases de données
- Configuration des bases de données
- Utilisation de laminas-db pour accéder aux données
- L'ORM Doctrine via Doctrine Module.
Gestion des formulaires
- Créer et gérer les formulaires avec laminas-form
- Valider les inputs avec laminas-validate
- Filter avec laminas-filter et laminas-inputfilter
- Utilisations des hydrateurs pour extraire ou remplir nos objets
Jour 3
L'injection de dépendance
- Qu'est-ce que l'injection de dépendance
- Comment organiser son code proprement ?
- Configuration de laminas-servicemanager
Automatisation des tests
- Utilisation de PHPUnit
- Création de tests unitaires
- Création de tests fonctionnels
- Doubles : Stubs, Mocks et Spies avec Prophecy
- Injection de doubles dans les tests
Jour 4
Débogguer son application
- La toolbar laminas-developer-tools
- BjyProfiler pour les logs DB
- Configuration d'un debugger avec Xdebug
Les autres composants
- Authentification et gestion des droits
- Mails, Logs, Session, Config
- Internationalisation
- Gestion des Evénements
Méthodes mobilisées
- Un formateur validé par nos équipes techniques et pédagogiques sera présent pendant toute la durée de la formation
- Pour les formations en présentiel, une salle de formation sera mise à disposition et équipée d'ordinateurs portables, d'un accès Wi-Fi, d'un projecteur et d'un tableau blanc. En distanciel la session sera suivie sur Zoom ou autre outil de visioconférence sur demande (Teams, Webex, Google Meet...).
- Un support de cours en version numérique sera remis à chaque participant
Modalités d’évaluation
- Questions orales ou écrites (QCM)
- Exercices pratiques
- Auto-positionnement en amont et aval de la formation