Sto lavorando a una squadra in cui i miei compagni hanno introdotto il servizio e l'amp; modello di repository. Lavoriamo su micro framework Lumen. Quindi dal controller, la chiamata viene passata al servizio e quindi al repository.
Usiamo l'iniezione del controller. Il servizio e il trasformatore vengono iniettati nel costruttore del controllore. Il servizio ha il repository istanziato nel suo costruttore. Dobbiamo seguire questa regola:
Percorso - > Controller (servizio e trasformatore) - > Servizio (repository) - > Repository (Modello) .
I valori all'interno delle parentesi significano che saranno inizializzati all'interno del costruttore.
Ora, a volte è necessario utilizzare un altro repository da quello corrente. Supponiamo che io sia in post e ho bisogno di chiamare utente. Quale sarebbe la strada da percorrere? Alcuni dicono che dovremmo iniettare il repository utente nel repository corrente (post). Sono stato in disaccordo perché non penso che dovremmo creare un'istanza del repository utente quando non è necessario. Piuttosto passerei il repository utente da Controller -> Service -> Repository
. Sarebbe giusto?
Codice:
- Senza inoltrare il repository in avanti: Incollare 1
- Passaggio del repository al successivo: Incollare 2