|
Publicité ' | |||||||||||||||||||||||
|
|
#1 | ||||
|
Membre Expert
![]() Jean-François CAMBOTDéveloppeur informatique Inscription : mars 2003 Messages : 843 ![]() |
Hello,
je suis vraiment désolé pour le titre mais je ne vois pas comment nommer mon problème.. ou alors "Objet récursif", mais c'est pas vraiment ça. Donc je vous explique : J'ai une classe : "Peche", qui va par exemple me permettre, via les iterator de rajouter dynamiquement des "poissons" (je répète bien que c'est un exemple lol) : Code :
Code :
Merci d'avance pour vos réponses,
__________________
.o0o__St@iLeR__oOo. Chef de projet / Développeur Silverlight / ASP.NET MVC - MCP ASP.NET 4 Zend Framework / Ajax (Jquery et ExtJS) Adobe Flash Builder (Flex) Ma librairie pour faire communiquer PHP et Silverlight "à la" WCF : http://code.google.com/p/phpservices-silverlight/ |
||||
|
|
00
|
|
|
#2 | ||
![]() ![]() Inscription : juin 2003 Messages : 4 893 ![]() |
pour l'ajout en chaine, j'ai souvent vu ça
Code :
__________________
Modérateur PHP |
||
|
|
00
|
|
|
#3 | ||
|
Membre Expert
![]() Jean-François CAMBOTDéveloppeur informatique Inscription : mars 2003 Messages : 843 ![]() |
Non j'aimerais vraiment pas passer par un tableau intermédiaire...
La solution que j'ai donc mis en place à l'heure actuelle est évidemment de retourner l'objet lui même : Code :
Un design pattern n'existerait-il pas par exemple ? (je sais qu'on ne peut pas ajouter baleine à poisson.. Mais c'était pour voir si tout le monde suivait
__________________
.o0o__St@iLeR__oOo. Chef de projet / Développeur Silverlight / ASP.NET MVC - MCP ASP.NET 4 Zend Framework / Ajax (Jquery et ExtJS) Adobe Flash Builder (Flex) Ma librairie pour faire communiquer PHP et Silverlight "à la" WCF : http://code.google.com/p/phpservices-silverlight/ |
||
|
|
00
|
|
|
#4 | |
|
Membre chevronné
![]() Inscription : mai 2005 Messages : 657 ![]() |
Citation:
(à cause de l'ajout de la baleine qui prend beaucoup en mémoire ? )Sérieusement, avant de chercher à optimiser un code, cherche d'abord à savoir si il constitue effectivement un goulot d'étranglement ... et dans ton cas à mon avis la réponse est non ... De mémoire, il me semble d'ailleurs que le ZendFramework utilise la même technique pour les View ($view->assign('var1', $var1)->assign('var2', $var2)->render() par exemple). Au passage je ne vois pas de récursivité là dedans, aucune fonction ne s'appelle elle-même
__________________
Toute la documentation Ruby on Rails : gotapi.com/rubyrails Mes articles : > HAML : langage de template pour Ruby on Rails |
|
|
|
00
|
|
|
#5 | ||
![]() ![]() Inscription : septembre 2005 Messages : 1 741 ![]() |
L'exemple avec le Zend Framwork aurait plutot été :
Code :
|
||
|
|
00
|
|
|
#6 | |||
|
Membre chevronné
![]() Inscription : mai 2005 Messages : 657 ![]() |
Autant pour moi pour l'exemple mal choisi
Citation:
Code :
__________________
Toute la documentation Ruby on Rails : gotapi.com/rubyrails Mes articles : > HAML : langage de template pour Ruby on Rails |
|||
|
|
00
|
|
|
#7 | ||
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
En parlant de performances, je propose une factorisation :
Code :
Surtout que la variable préfixée avec underscore fait très PHP4 ...
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
||
|
|
00
|
|
|
#8 |
|
Membre Expert
![]() Jean-François CAMBOTDéveloppeur informatique Inscription : mars 2003 Messages : 843 ![]() |
Taum : Oui finalement j'ai fait un retour de $this et j'arrive au même résultat que le ZF... Mais j'aime pas trop faire transiter des objets complets, il me semblait que ça bouffait de la ressource.
Et non effectivement ce n'est pas de la récursivité, si ce n'est que dans l'esprit on envoie une fonction qui renvoie l'objet , qui envoie la fonction , qui renvoie l'objet .... etc.. Merci pour vos réponses,
__________________
.o0o__St@iLeR__oOo. Chef de projet / Développeur Silverlight / ASP.NET MVC - MCP ASP.NET 4 Zend Framework / Ajax (Jquery et ExtJS) Adobe Flash Builder (Flex) Ma librairie pour faire communiquer PHP et Silverlight "à la" WCF : http://code.google.com/p/phpservices-silverlight/ |
|
|
00
|
|
|
#9 | ||
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
J'y voie un autre avantage majeur.
Un exemple parlera de lui-meme : Code php :
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
||
|
|
00
|
|
|
#10 |
|
Membre régulier
![]() Inscription : juin 2007 Messages : 89 ![]() |
Je pense que c'est la solution la plus simple à ton problème. Et comme le passage d'objet se fait par référence il n'y a pas de problème de ressource.
|
|
|
00
|
|
|
#11 |
|
Inscrit
Inscription : octobre 2006 Messages : 637 ![]() |
__________________
Q: Dois-je haïr et cogner sur Microsoft ? R: Non, vous n'êtes pas obligé. Non pas que Microsoft n'est pas écoeurant, mais il y avait une culture hacker bien avant Microsoft et il y en aura une bien après que Microsoft aura été de l'histoire ancienne. Toute énergie dépensée à haïr Microsoft serait mieux employée par vos compétences et votre passion. Écrivez du bon code, cela brisera suffisamment Microsoft sans polluer votre karma. Comment devenir un hacker ? par Eric Steven Raymond |
|
|
00
|
Copyright © 2000-2012 - www.developpez.com