Come funzionano i fornitori di servizi e i contenitori di servizi utilizzando laravel?

Pubblicato: 2022-09-16

A volte può essere molto difficile gestire Laravel anche per sviluppatori esperti poiché la funzionalità di base è difficile da capire. Ma in effetti, lo sviluppo web è interessante.

Una delle funzionalità sono i suoi fornitori di servizi, sui quali darò una panoramica dettagliata in questo blog. Spiegherò anche come funziona un contenitore di servizi in laravel in questo blog.

Questi sono più semplici di quanto avresti potuto immaginare. Detto questo, entriamo subito nel merito.

Quali sono i fornitori di servizi in laravel?

I fornitori di servizi in un'applicazione Laravel fungono da punto centrale da cui l'applicazione viene avviata. Di conseguenza, i provider vengono utilizzati per iniettare i servizi di base di laravel nel contenitore dei servizi, nonché i servizi, le classi e le relative dipendenze della nostra applicazione nel contenitore dei servizi.

Nuovo invito all'azione

Il provider per questo esempio può essere trovato in config/app.php come un array chiamato "providers". Fare riferimento all'immagine qui sotto:

Cosa sono i fornitori di servizi in laravel 1

Supponiamo di voler utilizzare qualsiasi fornitore di servizi di terze parti, quindi è necessario applicare nella configurazione dell'array del fornitore di servizi.

Puoi vedere alcuni fornitori di servizi già presenti che eseguono l'intera applicazione, ad esempio Auth, che è richiesta per l'autenticazione per l'applicazione.

Come creare fornitori di servizi in laravel?

Per utilizzare un fornitore di servizi, devi prima crearne uno. Di conseguenza, creeremo subito un fornitore di servizi. Puoi utilizzare il comando fornito di seguito per creare qualsiasi fornitore di servizi di cui hai bisogno.

php crafty make:provider MyServiceProvider

Quando esegui il comando, nella tua applicazione verrà creato un provider di servizi, che potrai quindi utilizzare.

Come creare fornitori di servizi in laravel 1

Successivamente, apri la tua app e vai alla cartella dei fornitori, dove troverai il tuo fornitore di servizi.

Come creare fornitori di servizi in laravel 2

Qui vedrai due metodi, register() e boot().

Il metodo register()

È molto importante sapere che il metodo register() ci consente di definire i collegamenti al nostro contenitore di servizi. Ad esempio, vedere il codice qui sotto:

Il metodo di registrazione

$this->app è una variabile globale in laravel che può accedere a una classe singleton tramite l'app.

Singleton è un tratto. Quando si applica questa caratteristica, si informa l'applicazione che qualsiasi classe inviata come parametro nell'app dovrebbe avere un solo duplicato (istanza) in tutta l'applicazione. Ciò significa che MyClass verrà risolto una volta e avrà solo un'istanza, a cui è possibile accedere utilizzando la variabile my_class.

Il metodo boot()

Il metodo boot() consente di accedere a tutti i servizi precedentemente registrati utilizzando il metodo register. È quindi possibile includere l'intero servizio nell'applicazione utilizzando questo metodo.

Il metodo di avvio

Il metodo di avvio-1

Come registrare un fornitore di servizi?

Poiché ora hai creato il tuo fornitore di servizi, dovrai registrarlo nel tuo file di configurazione per completare il processo. È necessario registrarsi qui secondo le modalità illustrate nell'immagine seguente:

Come registrare un fornitore di servizi

Tutti i fornitori di servizi verranno caricati per primi ogni volta che viene eseguita l'applicazione. I fornitori di servizi sono il luogo centrale principale per le applicazioni Laravel e sono sempre disponibili per assisterti nell'esecuzione dell'applicazione completa, come discusso in precedenza in questo blog.

Cosa sono i contenitori di servizio in laravel?

Il Service Container è un potente meccanismo che ci consente di archiviare tutti i binding necessari per eseguire un'applicazione Laravel su un singolo server.

6 Principi di sviluppo di applicazioni web moderne 2022

Tutto nell'applicazione può essere legato insieme con l'assistenza di un contenitore di servizi.

Come utilizzare il contenitore di servizio in laravel?

Considera il seguente scenario: abbiamo una classe denominata MathService che è responsabile dell'esecuzione di alcune operazioni fondamentali come addizione, moltiplicazione e così via. Il codice per questa classe è fornito di seguito.

Come utilizzare il contenitore di servizio in laravel

Come puoi vedere sopra, ci sono due metodi per calcolare la somma degli array di numeri usando la funzione di somma dell'array e moltiplicare tutti i numeri forniti come un array usando la funzione del prodotto dell'array.

La funzione di somma di matrice calcola la somma della matrice di numeri utilizzando la funzione di somma di matrice, mentre la funzione di prodotto matrice moltiplica tutti i numeri forniti come matrice.

Per utilizzare il provider di servizi, dobbiamo prima associare il servizio al contenitore di servizi.

Come utilizzare il contenitore di servizio in laravel-1

Tuttavia, così facendo, stiamo indicando a Laravel di mantenere il contenitore MathService nel contenitore con il nome MathService e di restituirlo ogni volta che richiediamo un'istanza di una classe. Si tratta di un'associazione una tantum di una classe e può essere utilizzata per ottenere un numero qualsiasi di istanze dal nostro programma.

Come utilizzare il contenitore di servizio in laravel-2 Come affermato in precedenza, i container ei provider di servizi sono componenti critici di ogni applicazione Laravel. Come affermato in precedenza, possiamo progettare i nostri fornitori di servizi unici o possiamo incorporare fornitori di servizi di terze parti nelle nostre applicazioni.

Ad esempio, se desideri utilizzare socialite in Laravel, puoi semplicemente copiarlo e incollarlo nel file del provider di servizi dell'app e utilizzarlo ovunque nella tua applicazione.

Riassumendo

Quando si configura l'applicazione, vengono utilizzati i fornitori di servizi. Oltre alle associazioni del contenitore del servizio, in questa sezione del file di configurazione vengono registrati anche altri elementi chiave come route, middleware e listener di eventi.

I fornitori di servizi vengono eseguiti prima che la richiesta stessa venga elaborata, assicurando che tutto ciò che desideri sia a posto e configurato prima che la richiesta venga gestita dal sistema. L'esecuzione di alcuni fornitori di servizi avviene su base regolare, mentre altri fornitori di servizi vengono eseguiti solo quando sono richiesti ("fornitori ritardati").

Quando si utilizza un contenitore di servizi, è possibile utilizzarlo per l'inserimento di dipendenze (ad esempio, l'inserimento di parametri nelle classi del controller), nonché per le classi di associazione e risoluzione (come la classe di cui creare un'istanza per un determinato contratto).

Lo sviluppo web può essere un processo difficile. Ecco perché webdew ha un team di sviluppatori web esperti per aiutarti a creare siti Web e applicazioni e semplificarti le cose.

Hai bisogno di una mano con il web design e lo sviluppo web? Mettiti in contatto con noi!

Editore: Amrutha