Proprio come in this topic, ho un problema di prestazioni in modalità dev quando si aggiunge un tag "rendering" di ramoscello nella mia app (documentazione correlata: Embedding controllers).Symfony2 e Twig rendono problemi di prestazioni
Senza questo tag di rendering, le mie pagine sono generate in meno di 70 ms. Con il tag di rendering, è almeno 170 ms. E ogni tag di rendering aggiunto nell'app aumenta la generazione della pagina di 100 ms (che è A LOT: perché una pagina normale viene eseguita in 60 ms e un tag di rendering in 100 ms?). Potrei averne bisogno di 4 o 5 su ogni pagina della mia app, quindi ciò significherebbe almeno 500 ms per ogni pagina in modalità dev.
Capisco perfettamente che non ci sono problemi nella modalità prod, ma chiaramente non è comodo nello sviluppo. Quindi qualcuno conosce un modo per sbarazzarsi di chiamate, registri o codici inutili durante l'uso del tag "render" in modalità dev?
Bene in questo caso la creazione di un servizio per la logica del controller è IMHO migliore. Se la logica del controller ha l'operazione db, penso che sia meglio non spostare la logica nella funzione di ramoscello. La creazione di un servizio separato garantisce anche la res-usabilità se il controller incorporato ha una route collegata e può essere chiamato in modo indipendente. –
Nulla ti impedisce di chiamare i servizi da un'estensione Twig. In effetti, questo è quello che faccio. Non è un problema di questo-VS. Le estensioni My Twig richiamano solo le azioni dei controller definiti come servizi. Quelle azioni sono riutilizzabili senza estensioni Twig. –
Bene, il servizio può anche essere esposto al ramoscello aggiungendo la variabile globale di twig in 'app/config.yml'. Solo un modo diverso per realizzare le cose. Niente di cui discutere in realtà :). –