Būtinos sąlygos
Prieš pradėdami šią mokymo programą, pirmiausia atlikite šias užduotis:
- Sukurkite naują „Laravel“ projektą
- Nustatykite duomenų bazės ryšį
- Paleiskite komandą migrate sukurti vartotojo lentelę
- Nustatykite el. Laiškų siuntimo konfigūraciją (SMTP čia naudojama el. Laiškams siųsti.)
Įdiegti numatytąjį autentifikavimą
Pirmiausia įdiekite numatytąją „Laravel“ vartotojo autentifikavimo sistemą, kad užbaigtumėte šioje pamokoje parodytą planavimo užduotį. Paleiskite šias terminalo komandas, kad įdiegtumėte numatytąjį „Laravel“ autentifikavimą naudodami „Vue“.
$ kompozitorius reikalauja laravel / ui$ php amatininkas ui vue -auth
Vykdykite šią komandą, kad sukompiluotumėte naujus pastolius, kad gautumėte atnaujintą turinį.
$ npm įdiegti ir & npm paleisti kūrNorėdami išvalyti maršruto talpyklą, vykdykite šią komandą.
$ php amatininkų maršrutas: aiškuPaleiskite šią komandą, norėdami paleisti „Laravel“ kūrimo serverį ir patikrinti, ar veikia numatytoji vartotojo autentifikavimo sistema.
$ php amatininkas tarnauja
Atidarykite bet kurią naršyklę ir naršyklėje paleiskite šį URL. Jei Prisijungti ir Registruotis pasirodo nuoroda ir veikia tinkamai, tada numatytasis autentifikavimas buvo tinkamai įgyvendintas.
http: // localhost: 8000
Sukurkite pašto klasę ir amatininkų komandą
Daugelis naujų vartotojų kasdien sukurs paskyras ir atliks daug užduočių, susijusių su registruotais vartotojais, kai projektas bus internete. Kartais programa turi žinoti, kiek vartotojų kiekvieną dieną sukūrė paskyras. Jei šios informacijos reikia reguliariai, tada geriau vykdyti tam tikrą užklausą po reguliaraus intervalo. „Laravel“ komanda čia naudojama norint gauti šiuo metu registruotų vartotojų informaciją, o pašto klasė naudojama siunčiant šią informaciją el. Paštu administratoriui arba nurodytam asmeniui.
Paleiskite šią komandą, kad sukurtumėte el. Laiško siuntimo klasę. Tai sukurs failą pavadinimu „SendUsersList“.php vietoje programa / paštas.
$ php amatininko gamintojas: paštas SendUsersListAtidarykite failą ir pakeiskite turinį, kaip nurodyta šiame kode.
vardų sritis App \ Mail;naudokite „Illuminate \ Bus \ Queueable“;
naudokite „Illuminate \ Contracts \ Queue“ „ShouldQueue“;
naudokite „Illuminate \ Mail \ Mailable“;
naudoti „Illuminate \ Queue \ SerializesModels“;
klasės „SendUsersList“ praplečia „Mailable“
naudoti „Queueable“, „SerializesModels“;
Deklaruokite masyvo kintamąjį * /
public $ userList = masyvas ();
/ **
* Sukurkite naują pranešimo egzempliorių.
*
* @return negalioja
* /
viešoji funkcija __construct ($ userList)
/ * Inicijuokite masyvo kintamąjį pagal kintamąjį, kurį perdavė
klasės objektų kūrimas. * /
$ this-> userList = $ userList;
/ **
* Sukurkite pranešimą.
*
* @return $ tai
* /
viešosios funkcijos kūrimas ()
/ * Parodykite peržiūros failą su masyvo kintamojo reikšmėmis * /
grąžinti $ this-> view ('registerList') -> su ('userList', $ this-> userList);
Paleiskite šią komandą, kad sukurtumėte pasirinktą „Laravel“ komandą „RegisterUsersList“, kuris vykdys užklausą, kad kiekvieną dieną gautų registruotų vartotojų informacijos sąrašą. Komanda sukurs failą pavadinimu „RegisterUsersList“.php vietoje programa / komandos.
$ php amatininkas make: komanda RegisterUsersList --command = registruoti: vartotojaiAtidarykite failą ir pakeiskite turinį naudodami šį kodą, kad konkrečiu el. Pašto adresu išsiųstumėte šiuo metu registruotų dabartinės sistemos vartotojų sąrašą.
vardų sritis App \ Console \ Commands;naudokite komandą „Illuminate \ Console \“;
/ * Importuokite būtinas pakuotes * /
naudoti paštą;
naudoti „App \ Mail \ SendUsersList“;
naudoti DB;
naudoti anglies \ anglies;
naudoti „App \ Console \ Commands \ DateTime“;
klasės „RegisterUsersList“ pratęsia komandą
/ **
* Pulto komandos pavadinimas ir parašas.
*
* @var eilutė
* /
/ * Pridėti parašo vertę * /
apsaugotas $ parašas = 'registruoti: vartotojai';
/ **
* Pulto komandos aprašymas.
*
* @var eilutė
* /
protected $ description = 'Registruotų vartotojų sąrašas';
/ **
* Sukurkite naują komandos egzempliorių.
*
* @return negalioja
* /
viešoji funkcija __construct ()
pagrindinis :: __ konstruoti ();
/ **
* Vykdykite konsolės komandą.
*
* @return tarpt
* /
viešosios funkcijos rankena ()
/ * Perskaitykite dabartinę sistemos datą * /
$ today = Carbon :: now () -> toDateString ();
/ * Gaukite naudotojų, kurie yra užsiregistravę, sąrašą
dabartine sistemos data * /
$ current_registered_users =
DB :: lentelė ('vartotojai') -> whereDate ('sukurtas_at', šiandien $) -> get () -> toArray ();
/ * Sukurkite pašto klasės objektą su masyvo kintamuoju
kuriame yra šiuo metu registruotų vartotojų sąrašas * /
$ email = new SendUsersList ($ current_registered_users);
/ * Siųsti el. Laišką naudojant „Mail“ klasę * /
Mail :: to ('gavėjo el. Pašto adresas') -> send ($ email);
Nustatykite tvarkaraštį komandai vykdyti
Atidaryk Branduolys.php failą iš vietos programa / konsolė ir modifikuoti turinį naudodami šį kodą. Galite nustatyti įvairių tipų tvarkaraščio dažnio parinktis. Sąrašą galite gauti iš šios nuorodos. Čia naudojamas valandinis grafikas.
vardų sritis „App \ Console“;naudoti Illuminate \ Console \ Scheduling \ Schedule;
kaip „ConsoleKernel“ naudokite „Illuminate \ Foundation \ Console \ Kernel“;
klasės branduolys plečia „ConsoleKernel“
/ **
* „Artisan“ komandos, kurias teikia jūsų programa.
*
* @var masyvas
* /
/ * Intralizuokite komandų $ kintamąjį * /
apsaugotos $ komandos = [
„App \ Console \ Commands \ RegisterUsersList“,
];
/ **
* Apibrėžkite programos komandų tvarkaraštį.
*
* @param \ Illuminate \ Console \ Scheduling \ Schedule $ tvarkaraštis
* @return negalioja
* /
saugomų funkcijų tvarkaraštis (planuoti $ tvarkaraštį)
/ * Nustatykite tvarkaraštį kas valandą * /
$ tvarkaraštis-> komanda ('registruoti: vartotojai') -> kas valandą ();
/ **
* Užregistruokite programos komandas.
*
* @return negalioja
* /
saugomos funkcijos komandos ()
$ this-> load (__ DIR__.„/ Komandos“);
reikalauti base_path ('maršrutai / konsolė.php ');
Sukurti rodinį
Sukurkite registerList.ašmenys.php peržiūrėti failą su šiuo kodu.
@if (count ($ userList)> 0)
Šiandien registruotų vartotojų sąrašas pateiktas žemiau:
@foreach ($ userList kaip $ user)
$ vartotojas-> vardas
@endforeach
@Kitas
Šiandien dar nėra registruotas vartotojas.
@endif
Paleiskite komandą:
Norėdami išvalyti talpyklą, vykdykite šias komandas.
$ php amatininkų talpykla: išvalyti$ php amatininko konfigūracija: talpykla
Paleiskite šią amatininko komandą iš terminalo, kad įvykdytumėte anksčiau sukurtą pasirinktinę komandą ir patikrintumėte išvestį.
$ php amatininkas registruotas: vartotojaiPatikrinkite gavėjo el. Pašto adresą, kad sužinotumėte išvestį. Jei nebus sukurtas vartotojas, pasirodys toks išvestis.
Sukurkite naują vartotojo abonementą ir dar kartą patikrinkite el. Paštą.
Išvada
„Laravel“ planuoklis leidžia pasikartojančias užduotis lengviau atlikti programai. Perskaitę šią pamoką, skaitytojai dabar turėtų aiškiai suprasti individualių komandų kūrimo ir automatinių užduočių vykdymo naudojant „Laravel Scheduler“ sąvokas.