|
Publicité ' | |||||||||||||||||||||||
|
|
#1 |
|
Invité de passage
![]() |
Bonsoir,
Je débute sur Symfony, sur le projet sur lequel je travaille nous avons un layout qui est relativement lent sur certaines choses, quelles solutions est la plus adaptée : - Appliquer un autre layout en fonction du filtre ? - Alléger le layout, en déplaçant tout ce qu'on peut vers les controllers ? |
|
00
|
|
|
#2 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Peut-être que oui, peut-être que non...
Impossible avec les données en ma possession d'être plus précis. Il faut savoir ce que fait le layout. S'il ne peut pas être en partie mis en cache. Si les requêtes qu'il exécute ne peuvent pas l'être. Il doit y avoir plus d'une dizaine de possibilités et il est probable que la bonne solution soit un mixte de plusieurs de ces possibilités.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
|
|
#3 | ||
|
Invité de passage
![]() |
Par exemple est ce que c'est bon d'avoir plusieurs tests du style :
Code :
|
||
|
00
|
|
|
#4 |
![]() ![]() Michel RottaResponsable d'exploitation informatique Inscription : septembre 2005 Messages : 4 913 ![]() |
Pour la théorie.
Le layout fait partie de la couche Visuel, donc il ne devrait pas embarquer de requête, juste l'affichage des données. Dans ton cas il faudrait utiliser un compoment qui possède sa propre couche contrôleur à même d'interroger le modèle et de retourner un boolean permettant à la couche visuel (layout) de décider l'affichage, ou pas. Pour la performance. Ton code génère une requête SQL. Plus il y a de requêtes, plus c'est lent. Cette information n'est-elle pas disponible ailleurs ? Si elle doit se répéter sur toutes les pages elle pourrait être stockée dans l'objet user. Dans l’ultime recherche de performances, si cette valeur n'évolue que rarement, le résultat du componment pourrait alors être stocké dans le cache. Seul le cache serait alors lu avec un gain substantiel de performances.
__________________
Si tu donnes un poisson à un homme, il mangera un jour. Si tu lui apprends à pêcher, il mangera toujours (Lao Tseu).
|
|
00
|
Copyright © 2000-2012 - www.developpez.com