Discussion:
programmation objet
(trop ancien pour répondre)
Ploc
2008-11-30 19:43:32 UTC
Permalink
Bonjour,

J'ai déjà fait du développement Java et C++ il y a quelques années. Je
connais donc un peu la programmation objet.

Je fais actuellement un petit soft en php et je n'utilise quasiment la
programmation objet permise par php4 et surtout php5. J'ai cependant
l'impression de me confronter à des limites que l'approche objet
permettrait de contourner.

Je reste cependant sceptique sur l'utilisation d'une approche objet pour
un soft en php car php est principalement utilisé pour écrire des scripts
php, déclenchés par une requête http, donc d'une durée de vie réduite.

Est-il réellement censé de mettre en place tout une structure objet,
d'instancier des tas d'objets alors que ces derniers seront détruits à la
fin de l'exécution du script ? Est-ce réellement performant ?

Ce qui semble logique pour une application java hébergée sur un serveur
d'application tournant 24/24 me semble un peu moins pertinent dans le
cadre d'une appli php où quand il n'y a aucun utilisateur, il n'y a rien
qui tourne sur le serveur (à part des processus en attente).

Merci aux utilisateurs avancés de php en mode objet de me donner leur
avis, et éventuellement de bon guide pour commencer en programmation
objet en php (genre un tutoriel bien fait pour un petit blog minimaliste,
ou toute autre petite application).

Merci à vous !
Mihamina Rakotomandimby
2008-12-01 09:37:33 UTC
Permalink
Post by Ploc
Est-il réellement censé de mettre en place tout une structure objet,
d'instancier des tas d'objets alors que ces derniers seront détruits à la
fin de l'exécution du script ? Est-ce réellement performant ?
Bruno a abordé ce sujet il y a peu, sur un fil que j'ai initié (c'est
pour ça que je m'en souviens):
http://groups.google.com/group/fr.comp.lang.php/browse_thread/thread/3bb818a6e1900773
--
Huile Essentielle de Camphre http://www.huile-camphre.fr
Bruno Desthuilliers
2008-12-01 17:25:38 UTC
Permalink
Post by Mihamina Rakotomandimby
Post by Ploc
Est-il réellement censé de mettre en place tout une structure objet,
d'instancier des tas d'objets alors que ces derniers seront détruits à
la fin de l'exécution du script ? Est-ce réellement performant ?
Bruno a abordé ce sujet il y a peu, sur un fil que j'ai initié (c'est
http://groups.google.com/group/fr.comp.lang.php/browse_thread/thread/3bb818a6e1900773
Je ne suis pas persuadé que ce soit tellement en rapport avec la
question de Ploc...
Mihamina Rakotomandimby
2008-12-03 23:05:20 UTC
Permalink
Post by Bruno Desthuilliers
Post by Mihamina Rakotomandimby
http://groups.google.com/group/fr.comp.lang.php/browse_thread/thread/3bb818a6e1900773
Je ne suis pas persuadé que ce soit tellement en rapport avec la
question de Ploc...
Quand tu y parles de "tout reconstruire a chaque requete", j'y vois un
rapport.
Le contexte de l'OP et celui du post cité ne sont certes pas les même,
j'en conviens, mais certains arguments avancé dans l'autre fil me
semblent valable ici.
--
Huile Essentielle de Camphre http://www.huile-camphre.fr
Bruno Desthuilliers
2008-12-01 09:37:33 UTC
Permalink
Post by Ploc
Bonjour,
J'ai déjà fait du développement Java et C++ il y a quelques années. Je
connais donc un peu la programmation objet.
Je fais actuellement un petit soft en php et je n'utilise quasiment la
programmation objet permise par php4 et surtout php5. J'ai cependant
l'impression de me confronter à des limites que l'approche objet
permettrait de contourner.
Je reste cependant sceptique sur l'utilisation d'une approche objet pour
un soft en php car php est principalement utilisé pour écrire des scripts
php, déclenchés par une requête http, donc d'une durée de vie réduite.
et accessoirement, PHP reste fondamentalement un langage procédural.
Post by Ploc
Est-il réellement censé de mettre en place tout une structure objet,
d'instancier des tas d'objets alors que ces derniers seront détruits à la
fin de l'exécution du script ? Est-ce réellement performant ?
Performant ? Non, of course. Mais les perfs ne sont pas la seule
métrique à considérer - la lisibilité et la maintenabilité comptent aussi.
Post by Ploc
Ce qui semble logique pour une application java hébergée sur un serveur
d'application tournant 24/24 me semble un peu moins pertinent dans le
cadre d'une appli php où quand il n'y a aucun utilisateur, il n'y a rien
qui tourne sur le serveur (à part des processus en attente).
Merci aux utilisateurs avancés de php en mode objet de me donner leur
avis, et éventuellement de bon guide pour commencer en programmation
objet en php (genre un tutoriel bien fait pour un petit blog minimaliste,
ou toute autre petite application).
Pas de réponse là dessus - j'utilise essentiellement PHP dans le cadre
d'applis existantes (Spip ou autre) où l'approche procédurale reste
largement dominante, ou pour des trucs tellement simplistes qu'y coller
de l'OO serait une perte de temps pure et simple à tous points de vues.

Ceci dit, il parait que Symfony et CakePHP sont pas mal...

Mes deux centimes...
Pascal PONCET
2008-12-01 20:47:03 UTC
Permalink
Post by Ploc
Est-il réellement censé de mettre en place tout une structure objet,
d'instancier des tas d'objets alors que ces derniers seront détruits à la
fin de l'exécution du script ? Est-ce réellement performant ?
Bonjour,

Instancier des objets ou déclarer des variables et des fonctions, la
gestion de mémoire allouée par blocs de PHP ne verra pas beaucoup la
différence.
Alors, à moins d'avoir des besoin en ressource de calcul très avancés,
on peut raisonnablement se limiter à ça pour estimer la différence de
performance.

Donc le gain se situera essentiellement au niveau de la robustesse, ce
qui n'est intéressant que pour les développements incluant un contenu
applicatif suffisamment important.

Ça veut dire, mais cela n'engage que moi, que l'on pourra oublier
l'objet et préférer le procédural pour tout développement genre simple
page de formulaire avec message de confirmation.
Et, par contre, préférer l'objet pour une application Web basée sur un
framework avec SGBDR, authentification, etc.

D'ailleurs, Zend, le deuxième père de PHP, qui a beaucoup �"uvré pour que
ce langage émule les comportements objet standards, offre un framework
où le procédural est quasiment absent (http://framework.zend.com).

Dernière précision, dans un environnement Web, en plus des bases de
données, le mécanisme des sessions permet de passer facilement un objet
linéarisé d'un script à l'autre, y compris en PHP :
(http://fr.php.net/manual/fr/language.oop.serialization.php)

Cordialement,
Pascal
Bruno Desthuilliers
2008-12-02 11:11:37 UTC
Permalink
Post by Ploc
Post by Ploc
Est-il réellement censé de mettre en place tout une structure objet,
d'instancier des tas d'objets alors que ces derniers seront détruits à la
fin de l'exécution du script ? Est-ce réellement performant ?
Bonjour,
Instancier des objets ou déclarer des variables et des fonctions, la
gestion de mémoire allouée par blocs de PHP ne verra pas beaucoup la
différence.
Entre parcourir les résultats d'une requête via un curseur et créer une
liste d'instances représentant les mêmes résultats, il y a quand même
une différence assez notable.

(snip)
Post by Ploc
D'ailleurs, Zend, le deuxième père de PHP, qui a beaucoup �"uvré pour que
ce langage émule les comportements objet standards,
s/standards/Java-like/

NB : pas pour dire qu'il faille rejeter l'approche OO en PHP... Juste
que AMHA - et en fonction de mon experience - l'OP pose une très bonne
question vu le modèle d'exécution de PHP.
Ploc
2008-12-09 11:31:17 UTC
Permalink
Post by Bruno Desthuilliers
NB : pas pour dire qu'il faille rejeter l'approche OO en PHP... Juste
que AMHA - et en fonction de mon experience - l'OP pose une très bonne
question vu le modèle d'exécution de PHP.
L'op ? Kesako ?
Olivier Miakinen
2008-12-09 12:00:11 UTC
Permalink
Post by Ploc
Post by Bruno Desthuilliers
NB : pas pour dire qu'il faille rejeter l'approche OO en PHP... Juste
que AMHA - et en fonction de mon experience - l'OP pose une très bonne
question vu le modèle d'exécution de PHP.
L'op ? Kesako ?
L'officier de police !

Non, en réalité Bruno est un dangereux anglomane qui utilise
l'abréviation OP pour « original poster », c'est-à-dire la personne
qui a ouvert ce fil de discussion en y publiant le premier article.

[ copie et suivi vers fr.sci.jargon ]

Continuer la lecture sur narkive:
Loading...