[spip-dev] Code objet dans le parseur de inc-calcul-squel.php3

Salut,

J'ai a peu près fait le tour du parseur des squelette.

Je ne sais pas si c'est déjà possible avec PHP3, mais le code gagnerait en
lisibilité et en robustesse en codant les champs spip (#TITRE, #LOGO_MOT,
...) en VRAI objets.

Un objet champ de base avec toute la mécanique commune, puis des champs
spécialisés (hérités).

Tout ça pour éviter les interminables cases, définitions et autres else
if...
En plus ce très gros fichier peut-être découpé en plus petits, un part type
de boucle ?
ça permet aussi d'avoir un contrôle plus fin au niveau du cvs, de faciliter
la recherche dans le code...

Pour info, les

else if ($type_logo == 'RUBRIQUE_SURVOL') {
  ...
}
else if ($type_logo == 'DOCUMENT') {
...

peuvent être codés en :

switch($type_logo) {
  case 'RUBRIQUE_SURVOL':
    ...
    break;

  case 'DOCUMENT':
    ...
    break;

  ...

Cordialement,

Yves

Je ne sais pas si c'est déjà possible avec PHP3, mais le code gagnerait en
lisibilité et en robustesse en codant les champs spip (#TITRE, #LOGO_MOT,
...) en VRAI objets.

Un objet champ de base avec toute la mécanique commune, puis des champs
spécialisés (hérités).

D'après certains tests (daCode), les objets en PHP ont des performances assez
faiblardes.

D'autre part :
- les champs généraux ont déjà un traitement automatique (titre, texte, etc.)
- le code des champs spécifiques est difficilement factorisable (à l'exception
des logos)
- il faut notifier l'existence des objets au parser donc il y a de toute façon
un référencement centralisé quelque part

A mon avis ça fait beaucoup de modifs pour pas grand'chose.