Pogoji
Pred začetkom te vaje najprej opravite naslednje naloge:
- Ustvarite nov projekt Laravel
- Nastavite povezavo z bazo podatkov
- Zaženite ukaz za selitev in ustvarite uporabniško tabelo
- Nastavite konfiguracijo za pošiljanje e-pošte (za pošiljanje e-pošte se tukaj uporablja SMTP.)
Izvedite privzeto overjanje
Najprej izvedite privzeti sistem za preverjanje pristnosti uporabnika Laravel, da dokončate nalogo razporejanja, prikazano v tej vadnici. Iz terminala zaženite naslednje ukaze, da izvedete privzeto overjanje Laravel z uporabo Vue.
$ composer zahteva laravel / ui$ php obrtniški ui vue -auth
Zaženite naslednji ukaz za sestavljanje svežega odra, da dobite posodobljeno vsebino.
$ npm namestitev && npm zaženi razvZaženite naslednji ukaz, da počistite predpomnilnik poti.
$ php obrtniška pot: prostaZaženite naslednji ukaz, da zaženete razvojni strežnik Laravel in preverite, ali deluje privzeti sistem za preverjanje pristnosti uporabnika.
$ php obrtniški servis
Odprite kateri koli brskalnik in v njem zaženite naslednji URL. Če je Vpiši se in register povezava se prikaže in deluje pravilno, potem je bila izvedba privzete overitve pravilno zaključena.
http: // localhost: 8000
Ustvarite razpoložljiv razred in obrtniški ukaz
Številni novi uporabniki bodo dnevno ustvarjali račune in bodo izvajali veliko nalog, povezanih z registriranimi uporabniki, ko bo projekt v spletu. Včasih mora aplikacija vedeti, koliko uporabnikov je ustvarilo račune vsak dan. Če se te informacije zahtevajo redno, je bolje, da določeno poizvedbo izvedete po rednem intervalu. Tu se uporablja ukaz Laravel za pridobivanje informacij o trenutno registriranih uporabnikih, uporabljeni razred pa za pošiljanje teh informacij po e-pošti skrbniku ali določeni osebi.
Zaženite naslednji ukaz, da ustvarite razpoložljiv razred za pošiljanje e-pošte. Ustvarila bo datoteko z imenom SendUsersList.php na lokaciji app / Mail.
$ php artisan make: mail SendUsersListOdprite datoteko in spremenite vsebino, kot je navedeno v naslednji kodi.
imenski prostor App \ Mail;uporabite Illuminate \ Bus \ Queueable;
uporabite Illuminate \ Contracts \ Queue \ ShouldQueue;
uporabite Illuminate \ Mail \ Mailable;
uporabite Illuminate \ Queue \ SerializesModels;
class SendUsersList razširi na voljo
uporabite Queueable, SerializesModels;
/ * Navedite spremenljivko polja * /
javni $ userList = array ();
/ **
* Ustvarite nov primerek sporočila.
*
* @ vrnitev nična
* /
javna funkcija __construct ($ userList)
/ * Inicializirajte spremenljivko polja s spremenljivko, ki jo posreduje
ustvarjanje predmeta razreda. * /
$ this-> userList = $ userList;
/ **
* Zgradite sporočilo.
*
* @ vrni $ this
* /
build javne funkcije ()
/ * Poizvedite datoteko pogleda z vrednostmi spremenljivke matrike * /
vrni $ this-> view ('registeredList') -> with ('userList', $ this-> userList);
Zaženite naslednji ukaz, da ustvarite poimenovan ukaz Laravel po meri RegisterUsersList, ki bo izvedlo poizvedbo za pridobitev seznama podatkov o registriranih uporabnikih vsak dan. Ukaz bo ustvaril datoteko z imenom RegisterUsersList.php na lokaciji app / ukazi.
$ php artisan make: ukaz RegisterUsersList --command = registrirani: uporabnikiOdprite datoteko in spremenite vsebino z naslednjo kodo, da pošljete seznam trenutno registriranih uporabnikov trenutnega sistema na določen e-poštni naslov.
imenski prostor App \ Console \ Ukazi;uporabite Illuminate \ Console \ Command;
/ * Uvozi potrebne pakete * /
uporabljati pošto;
uporabite App \ Mail \ SendUsersList;
uporabite DB;
uporabite Carbon \ Carbon;
uporabite App \ Console \ Commands \ DateTime;
class RegisterUsersList razširi ukaz
/ **
* Ime in podpis ukaza konzole.
*
* @var niz
* /
/ * Dodaj vrednost podpisa * /
zaščiten $ signature = 'registrirani: uporabniki';
/ **
* Opis ukaza konzole.
*
* @var niz
* /
protected $ description = 'Seznam registriranih uporabnikov';
/ **
* Ustvarite nov primerek ukaza.
*
* @ vrnitev nična
* /
javna funkcija __construct ()
nadrejena :: __ konstrukcija ();
/ **
* Izvedite ukaz konzole.
*
* @ vrni se int
* /
ročaj javne funkcije ()
/ * Preberite trenutni sistemski datum * /
$ danes = Carbon :: zdaj () -> toDateString ();
/ * Pridobite seznam podatkov o uporabnikih, ki so registrirani
v trenutnem sistemskem datumu * /
$ current_registered_users =
DB :: table ('users') -> whereDate ('created_at', $ danes) -> get () -> toArray ();
/ * Ustvari objekt razreda, ki je na voljo, s spremenljivko polja
ki vsebuje trenutno registriran seznam uporabnikov * /
$ email = nov SendUsersList ($ current_registered_users);
/ * Pošiljanje e-pošte z uporabo predavanja * /
Mail :: na ('e-poštni naslov prejemnika') -> pošlji ($ email);
Nastavite urnik za izvajanje ukaza
Odprite Jedro.php datoteko z lokacije app / konzola in spremenite vsebino z naslednjo kodo. Nastavite lahko različne vrste možnosti frekvence urnika. Seznam dobite na tej povezavi. Tu se uporablja urni urnik.
imenski prostor App \ Console;uporabite Illuminate \ Console \ Scheduling \ Schedule;
uporabite Illuminate \ Foundation \ Console \ Kernel kot ConsoleKernel;
razred Kernel razširja ConsoleKernel
/ **
* Ukaze Artisan, ki jih ponuja vaša aplikacija.
*
* matrika @var
* /
/ * Incializirajte spremenljivko $ ukazov * /
zaščiteni $ ukazi = [
'App \ Console \ Commands \ RegisterUsersList',
];
/ **
* Določite urnik ukazov aplikacije.
*
* @param \ Illuminate \ Console \ Scheduling \ Schedule $ urnik
* @ vrnitev nična
* /
zaščiten urnik funkcij (urnik $ urnik)
/ * Nastavite urnik urno * /
$ urnik-> ukaz ('registrirani: uporabniki') -> urno ();
/ **
* Registrirajte ukaze za aplikacijo.
*
* @ vrnitev nična
* /
ukazi zaščitene funkcije ()
$ this-> load (__ DIR__.'/ Ukazi');
zahtevajo base_path ('poti / konzola.php ');
Ustvari pogled
Ustvari registeredList.rezilo.php ogled datoteke z naslednjo kodo.
@if (count ($ userList)> 0)
Seznam danes registriranih uporabnikov je podan spodaj:
@foreach ($ userList kot $ user)
$ user-> name
@endforeach
@else
Danes še ni registriran noben uporabnik.
@endif
Zaženite ukaz:
Zaženite naslednje ukaze, da počistite predpomnilnik.
$ php obrtniški predpomnilnik: jasno$ php artisan config: cache
Iz terminala zaženite naslednji obrtniški ukaz, da izvedete prej ustvarjeni ukaz po meri in preverite izhod.
Registriran $ php artisan: uporabnikiPreverite e-poštni naslov sprejemnika, če želite izvedeti rezultate. Naslednji izhod se prikaže, če ni ustvarjen noben uporabnik.
Ustvarite nov uporabniški račun in znova preverite e-pošto.
Zaključek
Načrtovalec Laravel olajša izvajanje ponavljajočih se nalog za aplikacijo. Po branju te vadnice bi morali bralci zdaj jasno razumeti koncepte ustvarjanja ukazov po meri in izvajanja avtomatiziranih nalog z uporabo Laravel Scheduler.