Preduvjeti
Prije početka ovog vodiča prvo izvršite sljedeće zadatke:
- Stvorite novi Laravel projekt
- Postavite vezu s bazom podataka
- Pokrenite naredbu migracija izradite korisničku tablicu
- Postavite konfiguraciju za slanje e-pošte (SMTP se ovdje koristi za slanje e-pošte.)
Provedite zadanu provjeru autentičnosti
Prvo implementirajte zadani sustav provjere autentičnosti korisnika Laravel da biste dovršili zadatak raspoređivanja prikazan u ovom vodiču. Izvršite sljedeće naredbe s terminala da biste implementirali zadanu autentifikaciju Laravel pomoću Vue.
$ composer zahtijeva laravel / ui$ php obrtnik ui vue -auth
Pokrenite sljedeću naredbu za sastavljanje svježe skele da biste dobili ažurirani sadržaj.
$ npm instalacija && npm pokreni razvIzvedite sljedeću naredbu da biste očistili predmemoriju rute.
$ php obrtnička ruta: čistaPokrenite sljedeću naredbu za pokretanje razvojnog poslužitelja Laravel i provjerite radi li zadani sustav provjere autentičnosti korisnika.
$ php obrtničko posluživanje
Otvorite bilo koji preglednik i pokrenite sljedeći URL u pregledniku. Ako je prijaviti se i Registar Pojavljuje se i radi ispravno, tada je implementacija zadane provjere autentičnosti dovršena pravilno.
http: // localhost: 8000
Stvorite raspoloživu klasu i naredbu zanatlija
Mnogi će novi korisnici svakodnevno stvarati račune i izvršavat će mnoge zadatke povezane s registriranim korisnicima kad je projekt na mreži. Ponekad aplikacija mora znati koliko je korisnika stvorilo račune svaki dan. Ako su ove informacije potrebne redovito, onda je bolje izvršiti određeni upit nakon redovitog intervala. Naredba Laravel ovdje se koristi za dobivanje podataka trenutno registriranih korisnika, a dostupna klasa koristi se za slanje tih podataka e-poštom administratoru ili određenoj osobi.
Pokrenite sljedeću naredbu za stvaranje dostupne klase za slanje e-pošte. Stvorit će datoteku s imenom SendUsersList.php na mjestu aplikacija / pošta.
$ php artisan make: mail SendUsersListOtvorite datoteku i izmijenite sadržaj, kao u sljedećem kodu.
prostor imena App \ Mail;koristite Illuminate \ Bus \ Queueable;
koristite Illuminate \ Contracts \ Queue \ ShouldQueue;
koristite Illuminate \ Mail \ Mavable;
koristite Illuminate \ Queue \ SerializesModels;
klasa SendUsersList proširuje se na dostupno
koristiti Queueable, SerializesModels;
/ * Deklarirajte varijablu polja * /
javni $ userList = array ();
/ **
* Stvorite novu instancu poruke.
*
* @povratak prazan
* /
javna funkcija __construct ($ userList)
/ * Inicijalizirajte varijablu niza varijablom koju je proslijedio
stvaranje predmeta klase. * /
$ this-> userList = $ userList;
/ **
* Izgradite poruku.
*
* @vrati $ ovo
* /
build javne funkcije ()
/ * Dijagram prikaza datoteke s vrijednostima varijable polja * /
vrati $ this-> view ('registeredList') -> with ('userList', $ this-> userList);
Pokrenite sljedeću naredbu za stvaranje prilagođene Laravel naredbe s imenom RegisterUsersList, koja će izvršiti upit za dobivanje popisa podataka o registriranim korisnicima svakog dana. Naredba će stvoriti datoteku s imenom RegisterUsersList.php na mjestu aplikacija / naredbe.
$ php artisan make: naredba RegisterUsersList --command = registrirani: korisniciOtvorite datoteku i izmijenite sadržaj sljedećim kodom da biste poslali popis trenutno registriranih korisnika trenutnog sustava na određenu e-adresu.
prostor imena App \ Console \ Commands;upotrijebite Illuminate \ Console \ Command;
/ * Uvezite potrebne pakete * /
koristiti Mail;
koristite App \ Mail \ SendUsersList;
koristiti DB;
koristiti Carbon \ Carbon;
koristite App \ Console \ Commands \ DateTime;
klasa RegisterUsersList proširuje naredbu
/ **
* Ime i potpis naredbe konzole.
*
* @var niz
* /
/ * Dodaj vrijednost potpisa * /
zaštićen $ potpis = 'registrirani: korisnici';
/ **
* Opis naredbe konzole.
*
* @var niz
* /
protected $ description = 'Popis registriranih korisnika';
/ **
* Stvorite novu instancu naredbe.
*
* @povratak prazan
* /
javna funkcija __construct ()
nadređeni :: __ konstrukcija ();
/ **
* Izvršite naredbu konzole.
*
* @povrat int
* /
ručica javne funkcije ()
/ * Pročitajte trenutni datum sustava * /
$ danas = Carbon :: now () -> toDateString ();
/ * Dohvatite popis podataka o korisnicima koji su registrirani
u trenutnom datumu sustava * /
$ current_registered_users =
DB :: table ('korisnici') -> whereDate ('created_at', $ danas) -> get () -> toArray ();
/ * Stvorite objekt raspoložive klase s varijablom niza
koja sadrži trenutno registrirani popis korisnika * /
$ email = novi SendUsersList ($ current_registered_users);
/ * Pošaljite e-poštu pomoću klase Mail * /
Mail :: na ('adresa e-pošte primatelja') -> pošalji ($ email);
Postavite raspored za izvršavanje naredbe
Otvori Zrno.php datoteka s mjesta aplikacija / konzola i izmijenite sadržaj sljedećim kodom. Možete postaviti različite vrste opcija frekvencije rasporeda. Popis možete dobiti na ovoj poveznici. Ovdje se koristi satni raspored.
prostor imena App \ Console;koristite Illuminate \ Console \ Scheduling \ Schedule;
koristite Illuminate \ Foundation \ Console \ Kernel kao ConsoleKernel;
klasa Kernel proširuje ConsoleKernel
/ **
* Naredbe Artisan koje pruža vaša aplikacija.
*
* @var niz
* /
/ * Incijalizirajte varijablu $ naredbe * /
zaštićene $ naredbe = [
'App \ Console \ Commands \ RegisterUsersList',
];
/ **
* Definirajte raspored naredbi aplikacije.
*
* @param \ Illuminate \ Console \ Scheduling \ Schedule $ schedule
* @povratak prazan
* /
zaštićeni raspored funkcija (raspored $ raspored)
/ * Podesite raspored po satima * /
$ raspored-> naredba ('registrirani: korisnici') -> satno ();
/ **
* Registrirajte naredbe za aplikaciju.
*
* @povratak prazan
* /
naredbe zaštićene funkcije ()
$ this-> load (__ DIR__.'/ Naredbe');
zahtijevaju base_path ('rute / konzola.php ');
Stvori pogled
Stvorite registriranaPopis.oštrica.php pogledajte datoteku sa sljedećim kodom.
@if (count ($ userList)> 0)
Popis danas registriranih korisnika dat je u nastavku:
@foreach ($ userList kao $ user)
$ $ user-> name
@endforeach
@drugo
Danas još nije registriran nijedan korisnik.
@završi ako
Pokrenite naredbu:
Izvedite sljedeće naredbe za brisanje predmemorije.
$ php zanatska predmemorija: obriši$ php artisan config: predmemorija
Izvršite sljedeću zanatsku naredbu s terminala da biste izvršili prethodno stvorenu prilagođenu naredbu i provjerili izlaz.
Registrirani $ php artisan: korisniciProvjerite e-adresu primatelja da biste saznali izlaz. Sljedeći će se izlaz pojaviti ako se ne stvori korisnik.
Izradite novi korisnički račun i ponovno provjerite e-poštu.
Zaključak
Planer Laravel olakšava izvođenje ponavljajućih zadataka za aplikaciju. Nakon čitanja ovog vodiča, čitatelji bi sada trebali jasno razumjeti koncepte stvaranja prilagođenih naredbi i implementacije automatiziranih zadataka pomoću Laravel Schedulera.