Page 1 sur 1

qu'elles sont les limitation des classes Objets en php4 et p

Posté : 25 août 2008, 23:15
par bucheron
Hello tout le monde,

dans le cas d'une rapport que je dois effectuer. Je recherche les limitations OOP (Object Oriented Programming) en php4 ? php 5 ?

Si vous pouviez m'aider ou me donner des références.

D'avance merci

Posté : 26 août 2008, 00:15
par Sékiltoyai

Posté : 26 août 2008, 09:00
par bucheron
est ce qu'il serait possible que quelqu'un m'énumère les différents points majeures de différences.

merci

Posté : 26 août 2008, 09:18
par Cyrano
Te faire une énumération complète ici serait sans doute fastidieux, on va résumer très sommairement deux points majeurs.

Le modèle objet de PHP4 est assez squelettique si on le compare au modèle de PHP5. Ce dernier en effet s'approche de très près du modèle objet d'un langage comme Java par exemple. les notions de private, public, protected sont apparue en PHP5, ça veut dire qu'aucune méthode ou propriété n'est (ni ne peut être) privée ou protégée en PHP4.
Autre point qu'a apporté PHP5, le passage par référence : s'il fallait en PHP4 l'indiquer explicitement, c'est devenu le fonctionnement normal par défaut de PHP5 : il y a donc des incompatibilités possibles enter un code écrit en PHP4 et un serveur assorti de PHP5 qui donneront des résultats faux où à tout le moins bizarres. Du reste, si tu actives en PHP5 la directive display_error à ON en mettant le error_reporting à E_STRICT, tu auras un avertissement de passage par référence obsolète si tu utilises la méthode PHP4.
Il y a également une nouvelle manière de nommer le constructeurs d'une classe avec __construct() au lieu du nom de la classe. La notion de destructeur n'existait pas en PHP4.

Enfin, comme Sekiltokay te l'a suggéré, tu devrais faire un tour dans la doc de PHP, il n'y a pas que la référence des fonction qui y est intéressante, il y a par exemple une courte page sur ces différences à prendre en compte dans une migration, http://www.php.net/manual/fr/faq.migration5.php et http://www.php.net/manual/fr/migration5.php où tu auras là aussi les grandes lignes.

Enfin, je dirais que les limitations sont fixées par tes besoins : pose-toi donc la question de ce que tu veux pouvoir faire et analyse dans quelle mesure tu peux ou non le faire avec une version ou une autre de PHP.

Posté : 26 août 2008, 13:39
par Victor BRITO
L'équivalent en PHP 4 du mot-clé public en PHP 5 est var. Par conséquent, si tu emploies var pour déclarer un attribut public dans ta classe, cela générera une erreur de type E_STRICT dans les conditions indiquées précedemment.

Posté : 26 nov. 2008, 23:51
par simoh
L'équivalent en PHP 4 du mot-clé public en PHP 5 est var. Par conséquent, si tu emploies var pour déclarer un attribut public dans ta classe, cela générera une erreur de type E_STRICT dans les conditions indiquées précedemment.
Aussi pour déclarer le constructeur on utilise le mot-clé __construct au lieu d'une méthode portant le même nom que celui de la classe ;-)

Posté : 26 nov. 2008, 23:56
par Cyrano
L'équivalent en PHP 4 du mot-clé public en PHP 5 est var. Par conséquent, si tu emploies var pour déclarer un attribut public dans ta classe, cela générera une erreur de type E_STRICT dans les conditions indiquées précedemment.
Aussi pour déclarer le constructeur on utilise le mot-clé __construct au lieu d'une méthode portant le même nom que celui de la classe ;-)
simoh, encore une intervention sans intérêt. Si tu avais lu ma réponse un peu plus haut, tu aurais noté que j'avais déjà précisé ce point.

Ne te sens pas obligé de déterrer de vieux sujet, on pourrait être tentés de croire que tu essayes de monter ton compteur de messages un peu artificiellement. :evil:

Posté : 27 nov. 2008, 13:06
par Victor BRITO
on pourrait être tentés de croire que tu essayes de monter ton compteur de messages un peu artificiellement. :evil:
Tout en prenant le risque de passer pour quelqu'un qui abuse du référencement (voir la signature : des mots-clés pour beaucoup de liens pointant le même site). :roll: