Page 1 sur 1

Equivalent des directives de compilation #if du langage C

Posté : 23 mai 2006, 17:54
par metro-gi
Bonjour,

Quasiment tout est dit dans le sujet.

Existe-t-il en PHP des directives permettant d'interpréter le code en fonction d'un argument externe comme par exemple la version de PHP ??

Merci d'avance de vos réponses.

Posté : 23 mai 2006, 18:08
par Vaedan
Ce n'est pas des directives à proprement parler mais tu peux faire un script du genre :
if( ! check_version( PHP_VERSION, "4.1.0" ) )
{
    ...
}
else
{
    ...
}
EDIT: tu peux aussi générer le code de ta page avec de telles conditions puis effectuer un eval du code obtenu. Alors à ce moment là, oui tu as des directives de compilation :P

Posté : 23 mai 2006, 18:21
par metro-gi
Ca veut dire que si je veux mettre en oeuvre les interfaces de PHP 5 dans un programme PHP 4 et garder la compatibilité avec les deux version, il faudrait que j'encapsule chacune des class existante avec un test sur PHP 4 et que je les duplique avec les modifications qui conviennent pour utiliser PHP 5?

Un travail giganteste..................... :(

Quelqu'un aurait une autre idée ???

Posté : 23 mai 2006, 18:27
par Vaedan
PHP4 et PHP5 ne sont pas fait pour cohabiter :)

Posté : 23 mai 2006, 18:34
par metro-gi
Les deux versions du langage non, mais les programmes réalisés eux, dans certains cas, doivent pouvoir fonctionner avec ces deux langages
:wink:

Posté : 23 mai 2006, 18:45
par Vaedan
Le plus simple est de proposer 2 versions, une php4, l'autre php5. Afin de limiter le travail tu pourrais découper ton script en 3 parties. Le code générique, le PHP4 et le PHP5. Tu includes ensuite dans ton code générique soit le fichier page_x.php4, soit page_x.php5.

Posté : 23 mai 2006, 19:00
par Invité
merci pour ces conseils qui me seront précieux =;
Sinon j'allais dans le mur ](*,)

Bonne soirée

Posté : 23 mai 2006, 20:09
par mere-teresa
Certains paramètres du php.ini peuvent aider pour la compatibilité (Zend Engine, toussa) quand tu fais tourner un script PHP4 sous PHP5.

Quelques éléments en plus : Cohabitation PHP4 et PHP5