Ho utilizzato Slim Framework (v2) per un po 'di tempo per sviluppare il mio sistema di gestione degli utenti.
Recentemente hanno pubblicato Slim 3 e in base alla guida all'aggiornamento ,
Slim v3 no longer has the concept of hooks. Hooks were removed as they duplicate the functionality already present in middlewares. You should be able to easily convert your Hook code into Middleware code.
Non sono abbastanza sicuro se ci credo. Il middleware di Slim consente di modificare la richiesta prima che colpisca l'applicazione principale o di modificare la risposta prima che sia inviato al cliente.
Tuttavia, questo non dice nulla di modificare il comportamento dell'applicazione stessa, che i ganci possono fare facilmente: l'applicazione semplicemente anticipa i punti nel codice in cui qualcuno potrebbe voler modificare il comportamento e chiama applyHook
di conseguenza.
Da quello che posso dire, l'unico modo per modificare il comportamento di base di un'applicazione tramite middleware è tramite le eccezioni: il middleware genera un'eccezione, che viene catturata dall'applicazione principale e quindi fa qualcos'altro. Ma questo mi sembra un abuso del framework, e ho difficoltà a credere che questo è ciò che intendono.
Gli hook in realtà "duplicano la funzionalità già presente nei middleware"?