Précédent   Forum des professionnels en informatique > PHP > Bibliothèques et frameworks > symfony
symfony Forum d'entraide sur le framework PHP symfony. Avant de poster : cours symfony et FAQ symfony
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 05/04/2011, 19h11   #1
Invité de passage
 
Thomas Quiroga
Inscription : février 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Thomas Quiroga
Âge : 21
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : février 2011
Messages : 6
Points : 3
Points : 3
Envoyer un message via MSN à tquiroga
Par défaut Optimisation et Layout

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 ?


tquiroga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 06/04/2011, 09h28   #2
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
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).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 13h45   #3
Invité de passage
 
Thomas Quiroga
Inscription : février 2011
Messages : 6
Détails du profil
Informations personnelles :
Nom : Thomas Quiroga
Âge : 21
Localisation : France, Haute Vienne (Limousin)

Informations forums :
Inscription : février 2011
Messages : 6
Points : 3
Points : 3
Envoyer un message via MSN à tquiroga
Par exemple est ce que c'est bon d'avoir plusieurs tests du style :
Code :
1
2
if ($blabla = Doctrine_Core::getTable('blabla')->findOneById($user->getIdBlabla()))
echo link_to('Calendrier', '@blabla_show');
dans le layout ?
tquiroga est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 07/04/2011, 16h25   #4
Modérateur
 
Avatar de Michel Rotta
 
Homme Michel Rotta
Responsable d'exploitation informatique
Inscription : septembre 2005
Messages : 4 913
Détails du profil
Informations personnelles :
Nom : Homme Michel Rotta
Âge : 49
Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

Informations professionnelles :
Activité : Responsable d'exploitation informatique
Secteur : Distribution

Informations forums :
Inscription : septembre 2005
Messages : 4 913
Points : 7 505
Points : 7 505
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).
  • Pensez à valoriser les réponses pertinantes, cliquez sur le bouton vert +1 pour indiquer votre accord avec la solution proposée.
  • Pensez à utiliser la balise [code] pour afficher du code, elle est cachée sous le bouton [#] dans l'éditeur.
  • Une discussion est terminée ? Alors le bouton est votre ami !
Michel Rotta est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 01h58.


 
 
 
 
Partenaires

Hébergement Web