Eeldused
Enne selle õpetuse alustamist täitke kõigepealt järgmised toimingud
- Looge uus Laraveli projekt
- Looge andmebaasiühendus
- Käivitage käsk migrate kasutajatabeli loomine
- Seadistage meilide saatmise konfiguratsioon (meilide saatmiseks kasutatakse siin SMTP-d.)
Rakenda vaiketeave
Kõigepealt juurutage Laraveli kasutaja vaikimisi autentimissüsteem, et täita selles õpetuses näidatud ajastamise ülesanne. Laraveli vaiketuvastuse rakendamiseks Vue abil käivitage terminalist järgmised käsud.
$ helilooja nõuab laravel / ui$ php käsitööline ui vue -auth
Värske tellingu koostamiseks värskendatud sisu saamiseks käivitage järgmine käsk.
$ npm installimise ja & npm käitamise arendusMarsruudi vahemälu tühjendamiseks käivitage järgmine käsk.
$ php käsitööliste marsruut: selgeLaraveli arendusserveri käivitamiseks käivitage järgmine käsk ja kontrollige, kas kasutaja vaikimisi autentimissüsteem töötab.
$ php käsitööliste teenimine
Avage mis tahes brauser ja käivitage brauseris järgmine URL. Kui Logi sisse ja Registreeri ilmub link ja see töötab korralikult, siis on vaikimisi autentimise juurutamine korralikult lõpule viidud.
http: // localhost: 8000
Looge postitatav klass ja käsitööliste käsk
Paljud uued kasutajad loovad igapäevaselt kontosid ja täidavad palju registreeritud kasutajatega seotud ülesandeid, kui projekt on võrgus. Mõnikord peab rakendus teadma, mitu kasutajat on iga päev kontosid loonud. Kui seda teavet nõutakse regulaarselt, siis on parem täita konkreetne päring pärast regulaarset intervalli. Laraveli käsku kasutatakse siin praegu registreeritud kasutajate teabe saamiseks ja postitatavat klassi kasutatakse selle teabe saatmiseks e-posti teel administraatorile või määratud isikule.
Meili saatmiseks postitatava klassi loomiseks käivitage järgmine käsk. See loob faili nimega SaadaUsersList.php asukohas rakendus / Mail.
$ php käsitöölise mark: mail SendUsersListAvage fail ja muutke sisu, nagu järgmises koodis.
nimeruum App \ Mail;kasutage Illuminate \ Bus \ Queueable;
kasuta Illuminate \ Contracts \ Queue \ ShouldQueue;
kasuta Illuminate \ Mail \ Mailable;
kasutage Illuminate \ Queue \ SerializesModels;
klass SendUsersList laiendab Mailable'i
kasutage Queueable, SerializesModels;
/ * Deklareeri massiivi muutuja * /
public $ userList = massiiv ();
/ **
* Looge uus sõnumi eksemplar.
*
* @return tühine
* /
avalik funktsioon __construct ($ userList)
/ * Initsialiseeri massiivi muutuja selle poolt antud muutuja järgi
klassi objektide loomine. * /
$ this-> userList = $ userList;
/ **
* Koostage sõnum.
*
* @return $ see
* /
avaliku funktsiooni ülesehitamine ()
/ * Mängige vaatefaili massiivi muutuja * / väärtustega
tagastage $ this-> view ('registerList') -> koos ('userList', $ this-> userList);
Kohandatud Laraveli nime loomiseks käivitage järgmine käsk RegisterUsersList, mis täidab päringu registreeritud kasutajate teabe loendi saamiseks iga päev. Käsk loob faili nimega RegisterUsersList.php asukohas rakendus / käsud.
$ php käsitööline make: käsk RegisterUsersList --command = registreeritud: kasutajadAvage fail ja muutke sisu järgmise koodiga, et saata praeguse süsteemi praegu registreeritud kasutajate loend konkreetsele e-posti aadressile.
nimeruum App \ Console \ Commands;kasuta käsku Illuminate \ Console \;
/ * Impordi vajalikud paketid * /
kasutada Maili;
kasutage rakendust \ Mail \ SendUsersList;
kasuta DB-d;
kasuta Carbon \ Carbon;
kasutage rakendust \ Console \ Commands \ DateTime;
klass RegisterUsersList laiendab käsku
/ **
* Konsoolikäskluse nimi ja allkiri.
*
* @var string
* /
/ * Lisa allkirja väärtus * /
kaitstud $ sign = 'registreeritud: kasutajad';
/ **
* Konsooli käsu kirjeldus.
*
* @var string
* /
kaitstud $ description = 'Registreeritud kasutajate loend';
/ **
* Looge uus käsueksemplar.
*
* @return tühine
* /
avalik funktsioon __construct ()
vanem :: __ konstrukt ();
/ **
* Käivitage konsooli käsk.
*
* @return int
* /
avaliku funktsiooni käepide ()
/ * Lugege praegust süsteemi kuupäeva * /
$ today = Carbon :: now () -> toDateString ();
/ * Hankige registreeritud kasutajate teabe loend
praeguses süsteemikuupäevas * /
$ current_registered_users =
DB :: tabel ('kasutajad') -> whereDate ('loodud_at', täna $) -> get () -> toArray ();
/ * Loo postitava klassi objekt massiivimuutujaga
mis sisaldab praegu registreeritud kasutajate loendit * /
$ email = new SendUsersList ($ current_registered_users);
/ * Saada e-kirju, kasutades meiliklassi * /
Mail :: to ('vastuvõtja e-posti aadress') -> send ($ email);
Käsu käivitamiseks seadistage ajakava
Ava Kernel.php fail asukohast rakendus / konsool ja muutke sisu järgmise koodiga. Saate määrata erinevat tüüpi ajakava sageduse valikuid. Nimekirja saate sellelt lingilt. Siin kasutatakse tunniplaani.
nimeruum App \ Console;kasuta Illuminate \ Console \ Scheduling \ Schedule;
kasuta ConsoleKernelina Illuminate \ Foundation \ Console \ Kerneli;
klassi tuum laiendab ConsoleKernelit
/ **
* Artisani käsud, mida teie rakendus pakub.
*
* @var massiiv
* /
/ * Intraliseeri muutuja $ käsud * /
kaitstud $ käsud = [
'App \ Console \ Commands \ RegisterUsersList',
];
/ **
* Määrake rakenduse käskude ajakava.
*
* @param \ Illuminate \ Console \ Scheduling \ Schedule $ ajakava
* @return tühine
* /
kaitstud funktsioonide ajakava (ajakava $ ajakava)
/ * Määra tunniplaan *
$ schedule-> käsk ('registreeritud: kasutajad') -> tunnis ();
/ **
* Registreerige rakenduse käsud.
*
* @return tühine
* /
kaitstud funktsiooni käsud ()
$ this-> koormus (__ DIR__.'/ Käsud');
nõuda base_path ('marsruudid / konsool.php ');
Loo vaade
Looge registerList.tera.php vaata faili järgmise koodiga.
@if (arv ($ userList)> 0)
Täna registreeritud kasutajate loend on esitatud allpool:
@foreach ($ userList kui $ kasutaja)
$ kasutaja-> nimi
@endforeach
@else
Täna pole veel ühtegi kasutajat registreeritud.
@endif
Käivitage käsk:
Vahemälu tühjendamiseks käivitage järgmised käsud.
$ php käsitööliste vahemälu: tühi$ php käsitööliste config: vahemälu
Varem loodud kohandatud käsu käivitamiseks ja väljundi kontrollimiseks käivitage terminalist järgmine käsitööliste käsk.
$ php käsitööline registreeritud: kasutajadVäljundi saamiseks kontrollige vastuvõtja e-posti aadressi. Kui kasutajat pole loodud, kuvatakse järgmine väljund.
Looge uus kasutajakonto ja kontrollige e-posti uuesti.
Järeldus
Laraveli ajakava muudab korduvad ülesanded rakenduse jaoks hõlpsamalt täidetavaks. Pärast selle õpetuse lugemist peaks lugejatel olema nüüd selge arusaam kohandatud käskude loomise ja automatiseeritud toimingute rakendamise Laraveli ajakava abil.