[spip-dev] PHP 4 ?

Salut,

Maintenant que la 1.7 est sortie (et stable), est-ce que l'on peut
oublier définitivement la compatibilité PHP3 ? Il me semble qu'il n'y a
plus aucun obstacle à cela...

a+

Antoine.

Ça consisterait en quoi exactement ?
- ne plus s'interdire les foreach ?
- oublier les .php qui redirigent sur un .php3 ?
- mettre des require_once partout ou c'est pertinent à la place
  des tas de define / if defined ?

À+, Pif.

  Ça consisterait en quoi exactement ?
- ne plus s'interdire les foreach ?

Non seulement, mais surtout toutes les fonctions dont on devait tester
la présence auparavant (par exemple les expressions régulières Perl,
beaucoup plus rapides que la version "Posix").

- oublier les .php qui redirigent sur un .php3 ?

Non.

- mettre des require_once partout ou c'est pertinent à la place
  des tas de define / if defined ?

Pour ça, ça n'a pas trop d'intérêt de changer le mécanisme actuel.

a+

Antoine.

> Ça consisterait en quoi exactement ?
> - ne plus s'interdire les foreach ?

Non seulement, mais surtout toutes les fonctions dont on devait tester
la présence auparavant (par exemple les expressions régulières Perl,
beaucoup plus rapides que la version "Posix").

OK.

> - oublier les .php qui redirigent sur un .php3 ?
Non.

becoz compatibilité ascendante je suppose ? => OK.

> - mettre des require_once partout ou c'est pertinent à la place
> des tas de define / if defined ?
Pour ça, ça n'a pas trop d'intérêt de changer le mécanisme actuel.

  Je suis moins convaincu là. Coté perf, je sais pas, faudrait mesurer
(y compris quand il y a un truc à la php accelerator) mais coté
lisibilité c'est quand même pas mal les include_once et require_once.

  C'est un peu pénible de faire la modif partout, mais une fois que
c'est fait, on a un code plus abordable au moins sur ce point.

  En fait, je pense qu'il faudrait vraiment refondre au moins le
découpage des différentes fonctions. C'est impossible de s'y retrouver
actuellement entre les inc-public, inc-public-global, inc-calcul* et
compagnie.
  On alors il faudrait détailler la fonction de chacune des étapes qu'on
croise dans ces fichiers.

À+, Pif.