Evolution de base
- Le cycle de release.
- Les éléments dépréciés.
- La syntaxe des variables.
- Intégration de l'Unicode au langage.
- Refonte du moteur, optimisation des performances.
Travaux pratiques
Dans un ensemble de scripts procéduraux représentant le fonctionnement d'un site Web de vente en ligne, identifier les éléments dépréciés et mettre en œuvre une stratégie de migration.
Le langage : ce qui change
- Les opérateurs de fusion et de comparaison (spaceship).
- Les constantes.
- Le déballage d'objets.
- Les nouvelles fonctions : array_column.
- Les expressions régulières.
- La cryptographie.
- Les fonctions qui évoluent.
- Le typage d'entrée et de retour.
Travaux pratiques
A partir de classes ADO fournies, effectuer un refactoring des classes en tenant compte des nouvelles syntaxes.
Erreurs et Assertions
- La nouvelle hiérarchie d'exceptions dans PHP 7.
- Exception Constructeur.
- Exception du Moteur.
- Exception d'Erreur.
- Les Erreurs presque fatales.
- Throwable et Userland.
- Appel de méthode sur non-objet.
- Assertions et Expectations.
Travaux pratiques
Implémentation d'une stratégie de gestion d'erreur et d'exception, basée sur les interfaces standards.
Fermeture et Générateur
- Closure : liaison à l'invocation.
- Générateur : valeurs de retour et délégation.
Démonstration
Démonstration de code portant sur la syntaxe des générateurs et des closures.
POO : encore mieux !
- Analyse lexicale contextuelle.
- Dépréciation des constructeurs PHP 4.
- Déclarations groupées.
- Les classes anonymes.
Travaux pratiques
Dans un ensemble de classes fournies, identification des constructeurs obsolètes et implémentation des concepts abordés.
Migrer de PHP 5 à PHP 7
- Etablir la checklist des points à vérifier pour une bonne migration.
- Identification des familles de problèmes potentiels en fonction de la version à migrer.
- Contournement des problèmes.
Travaux pratiques
Mise en œuvre de la migration d'un site PHP 5 vers PHP 7.