Servono a scopi diversi. Il tag include
include semplicemente il contenuto di un modello esistente nella sua interezza e non modificato. Un tag di inclusione personalizzato passa il contesto a una funzione che può contenere la logica per manipolare il contesto prima di passarlo a un modello.
Ad esempio, forse ho un pannello che verrà mostrato su più pagine. Il modello del pannello richiede alcune query specifiche da trasmettere attraverso il contesto. Le pagine che contengono il pannello non richiedono quelle variabili di contesto per nient'altro. Se includo il modello di pannello con il tag include
, dovrei scrivere quelle query in ogni vista che contiene il pannello e passarle come variabili di contesto.
In alternativa, potrei scrivere un tag di inclusione personalizzato che contiene le query e le passa al modello del pannello. Usando il tag di inclusione personalizzato non avrei bisogno di ripetere il codice per produrre il suo contesto in ogni vista che contiene il pannello. Le mie viste conterrebbero meno codice e sarebbero meno ingombranti con le variabili di contesto utilizzate solo dal pannello.
Sebbene sia corretto nel senso che un tag di inclusione personalizzato che passa semplicemente sul contesto non gestito equivale al tag include
.
Punto eccellente. Mi chiedo come possano confrontare le prestazioni. – Wtower