Qual è la migliore pratica per il posizionamento delle funzioni che vengono utilizzati su più layer MVC?Dove dovrebbero essere posizionate le funzioni "globali" di Symfony?
Recentemente ho dovuto scrivere alcune funzioni statistiche che vengono utilizzate sia nella vista che nel modello. Se li metto in un helper, sono bloccato a caricare aiutanti nel livello del modello, che è fastidioso, sembra scorretto e si interrompe completamente quando tali funzioni vengono chiamate da un'attività (perché non esiste un contesto predefinito). Se li ho messi nella directory di livello superiore lib
, sono chiamate per la preparazione bloccati come Stats::normalPercentile
nella vista.
Ci sono altre opzioni? Ci sono commenti dagli sviluppatori di Symfony su dove dovrebbero essere posizionate funzioni come queste?
Modifica: Apparentemente non ci sono problemi con le chiamate statiche nelle viste. Ho dedotto questo sulla base Symfony non scrivere i loro aiutanti come classi (anche dopo significant discussion.) In questo caso, ci sono delle convenzioni per l'inserimento dei file come questi? Basta lanciarli in lib/util
?
Io sono d'accordo: niente di sbagliato con le chiamate statiche nei punti di vista Se l'OP non gli piace, deve creare un aiutante che li maschera. – Maerlyn
Non sto raccogliendo statistiche nella vista, ma sto facendo calcoli come il percentile di un valore. Immagino di aver inferito (erroneamente) che le chiamate statiche non sono state rispettate nella vista perché Symfony non mette i loro aiutanti all'interno delle classi. –