Aller au contenu
AFUP AFUP Day 2025 Baromètre Planète PHP PUFA
 

Comment améliorer PHP ? avec un préprocesseur !

Description

Dans cette conférence nous proposons de présenter les avantages significatifs qu'un préprocesseur de code intercalé au sein de la fonction __autoload() nous a apporté, pour :

Améliorer PHP en tant que langage de programmation :
  • ajouter une nouvelle dimension d'organisation du code, proche de ce que permet la programmation orientée aspect, sous la forme d'un nouveau concept que nous avons nommé superposition de classes,
  • ajouter des constructeurs et destructeurs statiques au langage,
  • générer du code spécialisé en fonction du contexte d'exécution : supprimer le code mort, résoudre les constantes ou des portions de code de façon statique,
  • ou de façon plus anecdotique, libérer le constructeur PHP4 sans casser le code PHP4 ou 5 existant.


Améliorer PHP en tant qu'environnement d'exécution :
  • vérifier l'encodage des sources, supprimer les BOM parasites, pour un code 100% UTF-8,
  • analyser le code pour anticiper certaines erreurs (divergence des tables de traduction) ou pré-remplir certains caches (tables de traduction),
  • substituer des fonctions par d'autres, pour enrichir/corriger/intercepter leur comportement, et par exemple : charger une implémentation PHP de certaines extensions lorsque leur version native est nécessaire mais non présente (mbstring, iconv, etc.) ou détecter les problèmes potentiels liés à la casse des noms de fichiers sous Windows,
  • booster le mécanisme d'autoload par insertion/substitution de marqueurs à la volée.


Certains de ces sujets ont déjà été discutés dans la communauté (constructeur statique), d'autres sont possibles grâce à des extensions (runkit pour la substitution de fonctions) et d'autres encore sont à notre connaissance évoqués pour la première fois (superposition de classe, marqueurs pour autoload).

Nous baserons notre conférence sur l'implémentation 100% PHP que nous avons faite d'un tel préprocesseur dans notre framework de démonstration, Patchwork.
Conférence donnée lors du Forum 2009, ayant eu lieu les 12 et 13 novembre 2009.

Les speakers

Nicolas GREKAS

Après ses études, Nicolas a fondé une société spécialisée dans les services en ligne pour les chercheurs. Il est l'auteur du framework Patchwork, résultat de huit années de pratiques et de réflexions en PHP/Web. Cette conférence est pour lui l'occasion de contribuer à la communauté PHP et de sortir ses travaux de leur confidentialité.

Yann BOGDANOVIC

Yann est ingénieur R&D. Il y a deux ans, il est devenu le premier membre de la "communauté Patchwork". L'opportunité s'étant présentée de concilier centres d'intérêts et vie professionnelle, il a rejoint l'entreprise en septembre dernier.