laravel

Урок за планиране на Laravel

Урок за планиране на Laravel
Някои задачи се изискват да се изпълняват редовно във всяко приложение и би било по-ефективно, ако задачите могат да се изпълняват автоматично. Рамката на Laravel улеснява този тип задачи, като използва планиращия инструмент Laravel. Изпращането на групови имейли, свързани с оферти, оптимизиране на данни, генериране на отчети, поддържане на архивиране на приложения и премахване на неактивни потребители са някои често срещани примери за повтарящи се задачи, които могат да бъдат изпълнени с планиращия Laravel. Laravel може да изпълнява конкретни задачи периодично, като използва вграден диспечер на задачите с име Царевица работа. Името на конфигурационния файл Корнтаб се използва от Царевица за управление на задачи за планиране. Този урок ви показва как да управлявате повтарящи се задачи чрез създаване Царевица работни места и изпълнение на планиране на задачи.

Предпоставки

Преди да започнете този урок, първо изпълнете следните задачи:

  1. Създайте нов проект на Laravel
  2. Настройте връзката с базата данни
  3. Изпълнете командата за мигриране, създайте потребителска таблица
  4. Настройте конфигурацията за изпращане на имейли (тук се използва SMTP за изпращане на имейли.)

Прилагане на удостоверяване по подразбиране

Първо, внедрете системата за удостоверяване на потребителя по подразбиране на Laravel, за да завършите задачата за планиране, показана в този урок. Изпълнете следните команди от терминала, за да приложите удостоверяването по подразбиране Laravel с помощта на Vue.

$ composer изисква laravel / ui
$ php artisan ui vue -auth

Изпълнете следната команда, за да компилирате новото скеле, за да получите актуализираното съдържание.

$ npm инсталиране && npm стартиране dev

Изпълнете следната команда, за да изчистите кеша на маршрута.

$ php занаятчийски маршрут: ясно

Изпълнете следната команда, за да стартирате сървъра за разработка на Laravel и проверете дали системата за удостоверяване на потребителя по подразбиране работи.

$ php занаятчийско обслужване

Отворете всеки браузър и пуснете следния URL адрес в браузъра. Ако Влизам и регистрирам връзката се появява и работи правилно, след което изпълнението на удостоверяването по подразбиране е завършено правилно.

http: // localhost: 8000

Създайте команден клас и занаятчийска команда

Много нови потребители ще създават акаунти ежедневно и ще изпълняват много задачи, свързани с регистрирани потребители, когато проектът е онлайн. Понякога приложението трябва да знае колко потребители са създавали акаунти всеки ден. Ако тази информация се изисква редовно, тогава е по-добре да изпълнявате конкретна заявка след редовен интервал. Команда Laravel се използва тук, за да се получи информацията за текущо регистрираните потребители, а използваният клас се използва за изпращане на тази информация по имейл до администратора или определено лице.

Изпълнете следната команда, за да създадете достъпния клас за изпращане на имейла. Той ще създаде файл с име SendUsersList.php в местоположението приложение / поща.

$ php artisan make: mail SendUsersList

Отворете файла и променете съдържанието, както е показано в следващия код.

пространство от имена App \ Mail;
използвайте Illuminate \ Bus \ Queueable;
използвайте Illuminate \ Contracts \ Queue \ ShouldQueue;
използвайте Illuminate \ Mail \ Mailable;
използвайте Illuminate \ Queue \ SerializesModels;
клас SendUsersList разширява Mailable

използвайте Queueable, SerializesModels;
/ * Деклариране на променлива на масив * /
публичен $ userList = масив ();
/ **
* Създайте нов екземпляр на съобщение.
*
* @return void
* /
публична функция __construct ($ userList)

/ * Инициализирайте променливата на масива от променливата, предадена от
създаване на обект на класа. * /
$ this-> userList = $ userList;

/ **
* Изградете съобщението.
*
* @ върни $ това
* /
изграждане на публична функция ()

/ * Показване на файла на изгледа със стойностите на променливата на масива * /
върнете $ this-> view ('registeredList') -> with ('userList', $ this-> userList);

Изпълнете следната команда, за да създадете персонализирана команда Laravel с име RegisterUsersList, която ще изпълни заявката, за да получи списък с регистрирани потребители информация за всеки ден. Командата ще създаде файл с име RegisterUsersList.php в местоположението приложение / команди.

$ php artisan make: command RegisterUsersList --command = регистрирани: потребители

Отворете файла и променете съдържанието със следния код, за да изпратите списъка на регистрираните в момента потребители на текущата система на определен имейл адрес.

пространство от имена App \ Console \ Commands;
използвайте Illuminate \ Console \ Command;
/ * Импортиране на необходимите пакети * /
използвайте поща;
използвайте App \ Mail \ SendUsersList;
използвайте DB;
използвайте Carbon \ Carbon;
използвайте App \ Console \ Commands \ DateTime;
class RegisterUsersList разширява Command

/ **
* Името и подписът на командата на конзолата.
*
* @var низ
* /
/ * Добавяне на стойност на подписа * /
защитен $ подпис = 'регистрирани: потребители';
/ **
* Описанието на командата на конзолата.
*
* @var низ
* /
protected $ description = 'Списък на регистрираните потребители';
/ **
* Създайте нов екземпляр на команда.
*
* @return void
* /
публична функция __construct ()

родител :: __ конструкция ();

/ **
* Изпълнете командата на конзолата.
*
* @return int
* /
манипулатор на публична функция ()

/ * Прочетете текущата системна дата * /
$ днес = Carbon :: сега () -> toDateString ();
/ * Вземете списъка с информация за потребителите, които са регистрирани
в текущата системна дата * /
$ current_registered_users =
DB :: table ('users') -> whereDate ('created_at', $ today) -> get () -> toArray ();
/ * Създайте обекта на достъпния клас с променливата на масива
който съдържа списъка на регистрираните потребители в момента * /
$ имейл = нов SendUsersList ($ current_registered_users);
/ * Изпращане на имейл чрез клас на поща * /
Mail :: to ('имейл адрес на получателя') -> изпращане ($ имейл);

Настройте графика за изпълнение на командата

Отвори Ядро.php файл от местоположението приложение / конзола и модифицирайте съдържанието със следния код. Можете да зададете различни видове опции за честота на графика. Можете да получите списъка от тази връзка. Тук се използва почасовият график.

пространство от имена App \ Console;
използвайте Illuminate \ Console \ Scheduling \ Schedule;
използвайте Illuminate \ Foundation \ Console \ Kernel като ConsoleKernel;
клас Kernel разширява ConsoleKernel

/ **
* Командите Artisan, предоставени от вашето приложение.
*
* @var масив
* /
/ * Инициализирайте променливата $ command * /
защитени $ команди = [
'App \ Console \ Commands \ RegisterUsersList',
];
/ **
* Определете командния график на приложението.
*
* @param \ Illuminate \ Console \ Scheduling \ Schedule $ график
* @return void
* /
защитен график на функциите (график $ график)

/ * Задайте графика на час * /
$ график-> команда ('регистрирани: потребители') -> почасова ();

/ **
* Регистрирайте командите за приложението.
*
* @return void
* /
защитени команди на функция ()

$ this-> load (__ DIR__.'/ Команди');
изискват base_path ('маршрути / конзола.php ');

Създаване на изглед

Създайте регистриран списък.острие.php преглед на файл със следния код.


@if (count ($ userList)> 0)

Списъкът на потребителите, регистрирани днес, е даден по-долу:


@foreach ($ userList като $ user)
$ потребител-> име

@endforeach
@else
Все още няма регистриран потребител днес.
@endif

Изпълнете командата:

Изпълнете следните команди, за да изчистите кеша.

$ php занаятчийски кеш: изчисти
$ php artisan config: кеш

Изпълнете следната занаятчийска команда от терминала, за да изпълните предварително създадената персонализирана команда и да проверите изхода.

Регистриран $ php занаятчия: потребители

Проверете имейл адреса на получателя, за да разберете изхода. Следният изход ще се появи, ако не е създаден потребител.

Създайте нов потребителски акаунт и проверете отново имейла.

Заключение

Планировщикът Laravel улеснява изпълнението на повтарящи се задачи за приложението. След като прочетат този урок, читателите вече трябва ясно да разбират концепциите за създаване на персонализирани команди и внедряване на автоматизирани задачи с помощта на Laravel Scheduler.

Как да покажа брояч на FPS в игрите на Linux
Linux игрите получиха голям тласък, когато Valve обяви поддръжка на Linux за Steam клиент и техните игри през 2012 г. Оттогава много AAA и независими ...
Как да изтеглите и пуснете Civilization VI на Сид Майер на Linux
Въведение в играта Civilization 6 е модерен поглед върху класическата концепция, въведена в поредицата от игрите Age of Empires. Идеята беше доста про...
Как да инсталирате и играете Doom на Linux
Въведение в Doom Серията Doom възниква през 90-те години след пускането на оригиналния Doom. Това беше незабавен хит и от този момент нататък серията ...