Développeurs PHP expérimentés
Bonnes connaissances en PHP et programmation orientée objet
Concevoir des applications web PHP maintenables et réutilisables - Optimiser le code.
Rappel: histoire de PHPLes nouveautés de PHP7, PHPNG et HHVM
Protocole centrée: présentation de PSR7, ReST et HATEOASMVC, découpler le domaine de l'applicatifPlus de découplage: Interface based programmingEncore plus de découplage: microservicesInjection de dépendances
Les full-stack MVC framework: présentation de Symfony et ZendUn composant classique l'ORM:Les frameworks allégés: exemple de SilexParadigme collaborationiste et suppression des frameworks
Rappels: logs natifs de PHPPSR-3: Logger-interfaceUne implémentation: MonologLes processeurs (introspection, memory usage,...)Les formateurs (html, ChromePHP,...)Les wrappers (Buffer, Filter, FingersCrossed,...)
Atelier: Mettre à disposition un logger à notre application
Environnement AMP localLe serveur HTTP embarqué de PHP5Virtualisation, gérer les déploiements avec vagrantVirtualisation, moduler les dépendances avec Docker
Atelier: Créer un lanceur de serveur de développement
Monitoring: que surveiller?Présentation d'un outil tel que MonitProfiling: xDebug, Xhprof et XhguiProfiling dans un framework: Symfony WebProfilerBundleProfiling via un service externe: BlackfireTest de montée en charge avec Apache Bench
Atelier: Profiler notre application
Système de contrôle de version (VCS): SVN, GitGestion des branchesDocumentation: PHPDocEnvironnement de développement intégré (IDE)Fichier de configuration, les formats Yaml, XML, jsonChargeur de configurationInspecter le source: PHPStorm inspector, Sensio Insight
Convention de code:PSR-1, PSR-2Principes du développement SOLIDVérifier les conventions: phpcpd, php-cs-fixer...
Outils d'optimisation / qualité de codeErreurs courantes, solutionsCompression à la voléeOptimisation des algorithmesOptimisation de la couche d'accès aux données: memcachedCache HTTP, directives cache-controlCache HTTP sur un reverse-proxy, présentation d'outils
Atelier: Multiples scénarios d'optimisation de code
Méthodologie basée sur l'Active Learning : 75% de pratique minimum. Chaque point théorique est systématiquement suivi d'exemples et exercices.
Contrôle continu
Attestation de fin de stage mentionnant le résultat des acquis