Priekšnoteikumi
Pirms sākat šo apmācību, vispirms veiciet šādus uzdevumus:
- Instalējiet jaunu Laravel projektu
- Izveidojiet datu bāzes savienojumu
- Iestatiet e-pasta ziņojumu sūtīšanas konfigurāciju (varat pārbaudīt e-pasta sūtīšanas apmācību, lai nosūtītu e-pastu, izmantojot SMTP)
Izveidot tabulu
Jums ir jāizveido darbavietas tabula datu bāzē, lai saglabātu visas rindas. Izveidojiet šādu komandu no termināļa, lai izveidotu migrācijas failu darbavietas tabula.
$ php amatnieku rinda: tabulaJūs varat atvērt migrācijas failu no atrašanās vietas datu bāze / migrācijas /. Failā ir šāds saturs.
izmantojiet Illuminate \ Database \ Migrations \ Migration;izmantojiet Illuminate \ Database \ Schema \ Blueprint;
izmantojiet Illuminate \ Support \ Facades \ Schema;
klase CreateJobsTable paplašina migrāciju
/ **
* Palaidiet migrācijas.
*
* @return void
* /
publiska funkcija uz augšu ()
Shēma :: izveidot ('darba vietas', funkcija (Blueprint $ tabula)
$ table-> bigIncrements ('id');
$ table-> string ('queue') -> index ();
$ table-> longText ('lietderīgā slodze');
$ table-> unsignedTinyInteger ('mēģinājumi');
$ table-> unsignedInteger ('reserve_at') -> nullable ();
$ table-> unsignedInteger ('pieejams_at');
$ table-> unsignedInteger ('izveidots_at');
);
/ **
* Apgrieziet migrācijas otrādi.
*
* @return void
* /
publiska funkcija uz leju ()
Shēma :: dropIfExists ('darbavietas');
Palaidiet šādu komandu no termināla, lai izveidotu darbs tabula.
$ php amatnieki migrēIzveidot pasta klasi
Lai nosūtītu e-pastus no Laravel lietojumprogrammas, jums jāizveido pa pastu, kuru var nosūtīt. Palaidiet šo komandu, lai izveidotu nosaukto pasta klasi Sūtīt e-pastu atrašanās vietā lietotne / pasts.
$ php amatnieka marka: pasts SendEmailŠīs klases saturs ir parādīts zemāk. Skata faila nosaukums, kas tiek izmantots būvēt() metode tiks izveidota šīs apmācības nākamajā daļā.
nosaukumvieta App \ Mail;izmantojiet Illuminate \ Bus \ Queueable;
izmantojiet Illuminate \ Contracts \ Queue \ ShouldQueue;
izmantojiet Illuminate \ Mail \ Mailable;
izmantojiet Illuminate \ Queue \ SerializesModels;
klases SendEmail paplašina Mailable
izmantot Queueable, SerializesModels;
/ **
* Izveidojiet jaunu ziņojumu instanci.
*
* @return void
* /
publiskā funkcija __construct ()
//
/ **
* Izveidojiet ziņojumu.
*
* @return $ šo
* /
publisko funkciju veidošana ()
/ * Definējiet skata nosaukumu, kas tiks izmantots e-pasta veidnei * /
atgriezt $ this-> skatu ('e-pasts');
Izveidot skatu
Izveidojiet skata failu ar nosaukumu e-pasts.asmens.php ar šādu saturu, kas tiks nosūtīts kā e-pasta pamatteksts.
Laipni lūdzam Linux padomā
Uzziniet Laravel viegli
Izveidojiet darba klasi
Palaidiet šo komandu, lai izveidotu darba klasi. Nosaukts amata klases faila nosaukums Sūta e-pastu.php tiks izveidots vietā lietotne / darbs.
$ php amatnieka marka: darbs SūtotE pastsProgrammas saturs Sūta e-pastu.php ir parādīts zemāk. Jums iekšpusē ir jāiestata derīga e-pasta adrese līdz () metode rokturis () funkciju, lai pārbaudītu, vai kods darbojas pareizi. Vietnes vietā iestatiet derīgu e-pasta adresi “Saņēmēja e-pasta adrese” iekšpusē līdz () metodi, lai pārbaudītu, vai rinda darbojas pareizi.
nosaukumvieta App \ Jobs;izmantojiet Illuminate \ Bus \ Queueable;
izmantojiet Illuminate \ Contracts \ Queue \ ShouldQueue;
izmantot Illuminate \ Foundation \ Bus \ Dispatchable;
izmantojiet Illuminate \ Queue \ InteractsWithQueue;
izmantojiet Illuminate \ Queue \ SerializesModels;
/ * Pievienoja nepieciešamās paketes * /
izmantot Mail;
izmantot App \ Mail \ SendEmail;
klase SendingEmail ievieš ShouldQueue
izmantojiet Dispatchable, InteractsWithQueue, Queueable, SerializesModels;
/ **
* Izveidojiet jaunu darba instanci.
*
* @return void
* /
publiskā funkcija __construct ()
//
/ **
* Izpildiet darbu.
*
* @return void
* /
publisko funkciju rokturis ()
/ * Izveidojiet pasta sūtīšanas klases objektu un nosūtiet e-pastu * /
$ email = new SendEmail ();
/ * Iestatiet derīgu e-pasta adresi * /
Pasts :: uz ('Saņēmēja e-pasta adrese') -> nosūtīt ($ e-pasts);
Izveidot kontrolieri
Palaidiet šo komandu, lai izveidotu kontrolieri rindas apstrādei. Kad handleQueue () tiek izpildīta kontroliera funkcija, rindas darbs tiks virzīts un e-pasts tiks nosūtīts.
$ php amatnieka marka: kontrolieris SendEmailControllerSendEmailController.php
nosaukumvieta App \ Http \ Controllers;izmantot Illuminate \ Http \ Request;
/ * Pievienojiet nepieciešamos iepakojumus * /
izmantot App \ Jobs \ SendingEmail;
izmantot Carbon \ Carbon;
klases SendEmailController paplašina kontrolieri
/ **
* Izmantojot Laravel rindas
* /
publisko funkciju handleQueue ()
/ * Ievietojiet jauno darbu darba rindā * /
nosūtīšana (jauns SendingEmail ());
/ * Drukāt ziņojumu pēc e-pasta nosūtīšanas * /
atbalss 'E-pasts ir nosūtīts';
Pievienot maršrutu
Atveriet tīmeklī.php failu no maršrutos mapi un pievienojiet šo maršrutu, lai izpildītu rindas darbu, izmantojot kontrolleri.
Maršruts :: get ('e-pasts', '[e-pasts aizsargāts]');Palaidiet šo URL pārlūkprogrammā, lai pārbaudītu, vai kods darbojas. Atveriet saņēmēja e-pasta adresi, lai pārbaudītu, vai ir saņemts jauns e-pasts.
http: // localhost: 8000 / emailqueue
Pievienot aizkavi
Atveriet Sūta e-pastu.php failu vēlreiz un modificējiet handleQueue () funkcija, lai rindas darbiem pievienotu piecu sekunžu kavēšanos.
nosaukumvieta App \ Http \ Controllers;izmantot Illuminate \ Http \ Request;
/ * Pievienojiet nepieciešamos iepakojumus * /
izmantot App \ Jobs \ SendingEmail;
izmantot Carbon \ Carbon;
klases SendEmailController paplašina kontrolieri
/ **
* Izmantojot Laravel rindas
* /
publisko funkciju handleQueue ()
/ * Izveidojiet jaunu rindas objektu ar 5 sekunžu kavēšanos * /
$ emailJob = (new SendingEmail ()) -> delay (Carbon :: now () -> addSeconds (5));
/ * Ievietojiet jauno darbu darba rindā * /
nosūtīt ($ emailJob);
/ * Drukāt ziņojumu pēc e-pasta nosūtīšanas * /
atbalss 'E-pasts nosūtīts pēc piecām sekundēm';
Atkal palaidiet šo URL pārlūkprogrammā, lai pārbaudītu, vai kods darbojas. Šeit e-pasts tiks nosūtīts pēc piecām sekundēm, izmantojot piecu sekunžu metodi delay ().
http: // localhost: 8000 / emailqueue
Pārbaudiet saņēmēja e-pasta adreses iesūtni, lai uzzinātu, vai pēc 5 sekundēm ir saņemts jauns e-pasts. Ja rindas darbs darbojas pareizi, tiks saņemts e-pasts ar šādu saturu.
Secinājums
Šī apmācība parāda ļoti vienkāršu Laravel rindas izmantošanu. Laravel rindas varat izmantot dažādiem mērķiem, pamatojoties uz lietojumprogrammas prasībām. Es ceru, ka šī apmācība ir palīdzējusi lasītājiem labāk izprast Laravel rindu pamatjēdzienus.