Edellytykset
Suorita seuraavat tehtävät ennen tämän opetusohjelman aloittamista:
- Asenna uusi Laravel-projekti
- Määritä tietokantayhteys
- Määritä sähköpostin lähetysasetukset (Voit tarkistaa sähköpostin lähettämisen opetusohjelman sähköpostin lähettämiseksi SMTP: n avulla)
Luo taulukko
Sinun on luotava työpaikkoja taulukko tietokannassa kaikkien jonojen tallentamiseksi. Suorita seuraava komento terminaalista luodaksesi siirtotiedosto työpaikkoja pöytä.
$ php käsityöläisten jono: taulukkoVoit avata siirtotiedoston sijainnista tietokanta / siirrot /. Tiedosto sisältää seuraavan sisällön.
käytä Illuminate \ Database \ Migrations \ Migration;käytä Illuminate \ Database \ Schema \ Blueprint;
käytä Illuminate \ Support \ Facades \ Schema;
class CreateJobsTable laajentaa siirtymistä
/ **
* Suorita siirrot.
*
* @return void
* /
julkinen toiminto ylös ()
Schema :: create ('työpaikat', function (Blueprint $ taulukko)
$ table-> bigIncrements ('id');
$ taulukko-> merkkijono (jono) -> hakemisto ();
$ table-> longText ('hyötykuorma');
$ table-> unsignedTinyInteger ('yritykset');
$ table-> unsignedInteger ('varattu_at') -> nullable ();
$ table-> unsignedInteger ('käytettävissä oleva_at');
$ table-> unsignedInteger ('luotu_at');
);
/ **
* Käänteinen siirtyminen.
*
* @return void
* /
julkinen tehtävä alas ()
Malli :: dropIfExists ('työpaikat');
Suorita seuraava komento päätelaitteesta luodaksesi Job pöytä.
$ php-käsityöläinen siirtyyLuo postiluokka
Sinun on luotava postitettava luokka, jotta voit lähettää sähköposteja Laravel-sovelluksesta. Luo nimetty postiluokka suorittamalla seuraava komento Lähettää sähköpostia sijainnissa sovellus / sähköposti.
$ php käsityöläinen merkki: mail SendEmailTämän luokan sisältö on esitetty alla. Näkymän tiedostonimi, jota käytetään rakentaa() menetelmä luodaan tämän opetusohjelman seuraavassa osassa.
nimitila App \ Mail;käytä Illuminate \ Bus \ Queueable;
käytä Illuminate \ Contracts \ Queue \ ShouldQueue;
käytä Illuminate \ Mail \ Mailable;
käytä Illuminate \ Queue \ SerializesModels;
luokka SendEmail laajentaa Mailable
käytä Queueable, SerializesModels;
/ **
* Luo uusi viesti-ilmentymä.
*
* @return void
* /
julkinen toiminto __construct ()
//
/ **
* Rakenna viesti.
*
* @return $ tämä
* /
julkisen toiminnan rakentaminen ()
/ * Määritä näkymän nimi, jota käytetään sähköpostimallissa * /
palauta $ this-> -näkymä ('sähköposti');
Luo näkymä
Luo nimetty näkymätiedosto sähköposti.terä.php seuraavan sisällön kanssa, joka lähetetään sähköpostin tekstiosana.
Tervetuloa Linux-vihjeeseen
Opi Laravel helposti
Luo työpaikkaluokka
Luo työluokka suorittamalla seuraava komento. Työluokan tiedostonimi on nimetty Lähetetään sähköpostia.php luodaan sijaintiin sovellus / työpaikat.
$ php käsityöläinen merkki: työ LähetetäänSähköpostiSisältö Lähetetään sähköpostia.php näkyy alla. Sinun on määritettävä kelvollinen sähköpostiosoite - () menetelmä kahva() toiminto testata, toimiiko koodi oikein. Aseta kelvollinen sähköpostiosoite osoitteen tilalle 'Vastaanottajan sähköpostiosoite' sisällä - () menetelmä tarkistaa, toimiiko jono kunnolla.
nimitila App \ Jobs;käytä Illuminate \ Bus \ Queueable;
käytä Illuminate \ Contracts \ Queue \ ShouldQueue;
käytä Illuminate \ Foundation \ Bus \ Dispatchable;
käytä Illuminate \ Queue \ InteractsWithQueue;
käytä Illuminate \ Queue \ SerializesModels;
/ * Lisäsi tarvittavat paketit * /
käyttää Mailia;
käytä App \ Mail \ SendEmail;
luokka SendingEmail toteuttaa ShouldQueuen
käytä Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/ **
* Luo uusi työilmentymä.
*
* @return void
* /
julkinen toiminto __construct ()
//
/ **
* Suorita työ.
*
* @return void
* /
julkisten toimintojen kahva ()
/ * Luo postitettavan luokan objekti ja lähetä sähköpostia * /
$ email = uusi SendEmail ();
/ * Aseta kelvollinen sähköpostiosoite * /
Mail :: to ('Vastaanottajan sähköpostiosoite') -> send ($ email);
Luo ohjain
Suorita seuraava komento luoda ohjain jonon käsittelemiseksi. Kun kahvaJono () Ohjaimen toiminto suoritetaan, jonotyö työnnetään ja sähköposti lähetetään.
$ php käsityöläinen merkki: ohjain SendEmailControllerSendEmailController.php
nimitila App \ Http \ Controllers;käytä Illuminate \ Http \ Request;
/ * Lisää tarvittavat paketit * /
käytä App \ Jobs \ SendingEmail;
käytä hiiltä \ hiiltä;
luokan SendEmailController laajentaa ohjainta
/ **
* Laravel-jonojen käyttäminen
* /
julkisten toimintojen kahvaJono ()
/ * Työnnä uusi työ työjonoon * /
lähetys (uusi SendingEmail ());
/ * Tulosta viesti sähköpostin lähettämisen jälkeen * /
kaiku 'Sähköposti on lähetetty';
Lisää reitti
Avaa verkko.php tiedosto reittejä -kansio ja lisää seuraava reitti suorittaaksesi jonotyön ohjaimella.
Route :: get ('email', '[email protected]');Suorita seuraava URL-osoite selaimessa tarkistaaksesi, toimiiko koodi. Avaa vastaanottajan sähköpostiosoite tarkistaaksesi, onko uusi sähköposti vastaanotettu.
http: // localhost: 8000 / emailqueue
Lisää viive
Avaa Lähetetään sähköpostia.php tiedosto uudelleen ja muokkaa kahvaJono () toiminto lisätä viiden sekunnin viive jonotöihin.
nimitila App \ Http \ Controllers;käytä Illuminate \ Http \ Request;
/ * Lisää tarvittavat paketit * /
käytä App \ Jobs \ SendingEmail;
käytä hiiltä \ hiiltä;
luokan SendEmailController laajentaa ohjainta
/ **
* Laravel-jonojen käyttäminen
* /
julkisten toimintojen kahvaJono ()
/ * Luo uusi jono-objekti viiden sekunnin viiveellä * /
$ emailJob = (uusi SendingEmail ()) -> delay (Carbon :: now () -> addSeconds (5));
/ * Työnnä uusi työ työjonoon * /
lähetys ($ emailJob);
/ * Tulosta viesti sähköpostin lähettämisen jälkeen * /
kaiku 'Sähköposti lähetetty viiden sekunnin kuluttua';
Suorita seuraava URL-osoite selaimessa uudelleen tarkistaaksesi, toimiiko koodi. Tällöin sähköposti lähetetään viiden sekunnin kuluttua käyttäen viiden sekunnin delay () -menetelmää.
http: // localhost: 8000 / emailqueue
Tarkista vastaanottajan sähköpostiosoitteen postilaatikosta, onko uusi sähköposti vastaanotettu 5 sekunnin kuluttua. Seuraavan sisällön sisältävä sähköposti vastaanotetaan, jos jonotyö toimii oikein.
Johtopäätös
Tämä opetusohjelma näyttää hyvin yksinkertaisen Laravel-jonon käytön. Voit käyttää Laravel-jonoja erilaisiin tarkoituksiin sovelluksesi vaatimusten perusteella. Toivon, että tämä opetusohjelma on auttanut lukijoita ymmärtämään paremmin Laravel-jonojen peruskäsitteet.