Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

programmation objet

8 réponses
Avatar
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.

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 !

8 réponses

Avatar
Mihamina Rakotomandimby
Ploc wrote:
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
Avatar
Bruno Desthuilliers
Ploc a écrit :
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.

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.

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...
Avatar
Bruno Desthuilliers
Mihamina Rakotomandimby a écrit :
Ploc wrote:
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




Je ne suis pas persuadé que ce soit tellement en rapport avec la
question de Ploc...
Avatar
Pascal PONCET
Ploc a écrit :
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
Avatar
Bruno Desthuilliers
Pascal PONCET a écrit :
Ploc a écrit :
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)
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.
Avatar
Mihamina Rakotomandimby
Bruno Desthuilliers wrote:
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
Avatar
Ploc
Le Tue, 02 Dec 2008 11:11:37 +0000, Bruno Desthuilliers a écrit :

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 ?
Avatar
Olivier Miakinen
Le 09/12/2008 12:31, Ploc répondait à 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 ]