Logo de PHP

Goals


- Designing maintainable and reusable PHP web application

- Optimizing the code

Program

Reminder: history of PHP
New features in PHP7, PHPNG and HHVM

Protocol centered: presentation of PSR7, ReST and HATEOAS
MVC, decoupling the domain of the application
More decoupling: Interface based programming
Even more decoupling: microservices
Dependency injection

The full-stack MVC framework: presentation of Symfony and Zend
A classic component of the ORM:
Lean frameworks: example of Silex
Collaboration paradigm and removal of frameworks

Reminders: native PHP logs
PSR-3: Logger-interface
An implementation: Monolog
Processors (introspection, memory usage, …)
Trainers (html, ChromePHP, …)
Wrappers (Buffer, Filter, FingersCrossed,. ..)

Workshop: Provide a logger to our application

Local AMP environment
PHP5’s embedded HTTP server
Virtualization, manage deployments with vagrant
Virtualization, modulate dependencies with Docker

Workshop: Create a development server launcher

Monitoring: what to monitor?
Presentation of a tool such as Monit
Profiling: xDebug, Xhprof and Xhgui
Profiling in a framework: Symfony WebProfilerBundle
Profiling via an external service: Blackfire
Load test with Apache Bench

Workshop: Profiling our application

Version control system (VCS): SVN, Git Branch
management
Documentation: PHPDoc
Integrated development environment (IDE)
Configuration file, Yaml, XML, json formats
Configuration loader
Inspect the source: PHPStorm inspector, Sensio Insight

Code convention: PSR-1, PSR-2
Principles of SOLID development
Check conventions: phpcpd, php-cs-fixer …

Optimization / code quality tools
Common errors, solutions
On-the-fly compression
Optimization of algorithms
Optimization of the data access layer: memcached
HTTP Cache, cache-control directives
HTTP Cache on a reverse-proxy, presentation of tools

Workshop: Multiple code optimization scenarios

Passing of the certification (if foreseen in the financing).

Duration

5 days

Price

£ 2154

Audience

Experienced PHP developers

Prerequisites

Good knowledge of PHP and object oriented programming

Reference

PHP83-F

Sessions

Contact us for more informations about session date