Sto passando da CakePHP 2.x e non mi è chiaro quale sia la differenza tra initialize()
e beforeFilter()
. Sembra esserci molta sovrapposizione tra loro. Quando dovrei usare uno e non l'altro?In CakePHP 3.0 qual è la differenza tra initialize() e beforeFilter()?
risposta
initialize()
viene sempre chiamato.
beforeFilter()
è facoltativo. Se è presente, è:
chiamato prima del metodo beforeFilter del controller, ma dopo il metodo initialize() del controller.
http://book.cakephp.org/3.0/en/controllers/components.html#component-callbacks
è l'ordine in cui si verificano gli eventi. initialize()
viene chiamato subito dopo il metodo __construct()
, mentre beforeFilter()
viene chiamato solo se viene inviata un'azione.
Grazie, puoi approfondire cosa intendi per "chiamato solo se viene inviata un'azione"? – emersonthis
prima che venga chiamata un'azione controller, ad esempio 'index()', 'add()', 'delete()' ... –
Al contrario di quando un controller viene semplicemente istanziato manualmente? È questa l'idea? – emersonthis
Questo è specifico quando questi metodi vengono utilizzati nei componenti. –