OVH Cloud OVH Cloud

classe valide Php4 et/ou Php5

3 réponses
Avatar
Aurelien Barbier-Accary
Bonjour,

peut-on (et si oui comment) insérer une commande (type précompilation en C/C++)
qui teste la version de Php pour générer le code adéquat.
En gros je veux faire des classes qui fonctionnent de manière transparente sous
Php4 et Php5 et donc selon la version définir comme il faut les constructeurs et
destructeur et tout ce qui va avec.

Merci d'avance.

Aurélien.

3 réponses

Avatar
clifden

peut-on (et si oui comment) insérer une commande (type précompilation en
C/C++) qui teste la version de Php pour générer le code adéquat.
En gros je veux faire des classes qui fonctionnent de manière
transparente sous Php4 et Php5 et donc selon la version définir comme il
faut les constructeurs et destructeur et tout ce qui va avec.



Une classe écrite syntaxiquement correcte pour PHP4 fonctionnera
correctement sur le compilateur PHP5. Par contre, si dans ta classe
PHP4, tu introduits une seule fonctionnalité PHP5, le compilateur va te
jeter.

Donc aucun problème à garder tes classes PHP4 sur du PHP5, et tu peux
ensuite les transformer petit à petit en format PHP5, en ajoutant ce qui
est spécifique (et utile) de PHP5.

Avatar
Xavier Garreau
peut-on (et si oui comment) insérer une commande (type précompilation en
C/C++) qui teste la version de Php pour générer le code adéquat.
En gros je veux faire des classes qui fonctionnent de manière
transparente sous Php4 et Php5 et donc selon la version définir comme il
faut les constructeurs et destructeur et tout ce qui va avec.


Un test sur phpversion ( http://fr2.php.net/phpversion ) suivi d'un require
approprié devrait faire l'affaire.

a+
--
Xavier Garreau
http://www.xgarreau.org/

Avatar
Olivier Guilyardi
Bonjour Aurelien,

Aurelien Barbier-Accary wrote:
peut-on (et si oui comment) insérer une commande (type précompilation en
C/C++) qui teste la version de Php pour générer le code adéquat.
En gros je veux faire des classes qui fonctionnent de manière
transparente sous Php4 et Php5 et donc selon la version définir comme il
faut les constructeurs et destructeur et tout ce qui va avec.


Il y a pas de précompilation en php, il y a même pas de compilation. Pour
déclencher un comportement différent suivant la version de PHP, il te suffit de
tester avec phpversion().

Maintenant, si tu te débrouilles bien, et que tu testes sous PHP4 et PHP5, tu
n'as généralement pas besoin de tester la version.

Beaucoup de paquets PEAR (http://pear.php.net) fonctionnent bien sous PHP4 et
PHP5. Tu peux t'en inspirer.

--
og - http://www.samalyse.com