Предуслови
Пре почетка овог водича, прво извршите следеће задатке:
- Инсталирајте нови Ларавел пројекат
- Подесите везу са базом података
- Подесите конфигурацију за слање е-поште (Водич за слање е-поште можете проверити за слање е-поште путем СМТП-а)
Направи табелу
Морате створити послови табела у бази података за чување свих редова. Покрените следећу наредбу са терминала да бисте креирали датотеку за миграцију за послови сто.
$ пхп занатски ред: табелаДатотеку за миграцију можете отворити са локације база података / миграције /. Датотека садржи следећи садржај.
користите Иллуминате \ Датабасе \ Мигратионс \ Мигратион;користите Иллуминате \ Датабасе \ Сцхема \ Блуепринт;
користите Иллуминате \ Суппорт \ Фацадес \ Сцхема;
класа ЦреатеЈобсТабле проширује Миграцију
/ **
* Покрените миграције.
*
* @ повратак воид
* /
јавна функција горе ()
Шема :: цреате ('јобс', фунцтион (Блуепринт $ табле)
$ табле-> бигИнцрементс ('ид');
$ табле-> стринг ('куеуе') -> индек ();
$ табле-> лонгТект ('корисни терет');
$ табле-> унсигнедТиниИнтегер ('покушаји');
$ табле-> унсигнедИнтегер ('ресерве_ат') -> нуллабле ();
$ табле-> унсигнедИнтегер ('аваилабле_ат');
$ табле-> унсигнедИнтегер ('цреатед_ат');
);
/ **
* Обрнути миграције.
*
* @ повратак празан
* /
јавна функција доле ()
Сцхема :: дропИфЕкистс ('послови');
Покрените следећу команду са терминала да бисте креирали посао сто.
$ пхп занатлија мигрираНаправите класу поште
Морате створити доступну класу да бисте слали е-пошту из апликације Ларавел. Покрените следећу наредбу да бисте креирали класу поште са именом Шаљи имејл на локацији апп / Маил.
$ пхп артисан маке: маил СендЕмаилСадржај ове класе је приказан у наставку. Назив датотеке приказа који се користи у буилд () метода ће бити створена у следећем делу овог водича.
именски простор Апп \ Маил;користите Иллуминате \ Бус \ Куеуеабле;
користите Иллуминате \ Цонтрацтс \ Куеуе \ СхоулдКуеуе;
користите Иллуминате \ Маил \ Мавабле;
користите Иллуминате \ Куеуе \ СериализесМоделс;
класа СендЕмаил проширује Маибле
користити Куеуеабле, СериализесМоделс;
/ **
* Направите нову инстанцу поруке.
*
* @ повратак празан
* /
јавна функција __цонструцт ()
//
/ **
* Направите поруку.
*
* @врати $ ово
* /
буилд јавне функције ()
/ * Дефинишите назив приказа који ће се користити за образац е-поште * /
врати $ тхис-> виев ('емаил');
Цреате Виев
Направите датотеку приказа са именом е-маил.сечиво.пхп са следећим садржајем који ће бити послат као тело е-поште.
Добродошли у Линук Хинт
Ларавел научите лако
Направите класу посла
Покрените следећу наредбу да бисте креирали класу посла. Име датотеке класе посла именовано СендингЕмаил.пхп биће створене на локацији апликација / послови.
$ пхп артисан маке: јоб СендингЕмаилСадржај СендингЕмаил.пхп приказано је доле. Морате поставити важећу адресу е-поште унутар до() метода хандле () функција за тестирање да ли код ради исправно. Поставите важећу адресу е-поште уместо 'Адреса е-поште пријемника' унутар до() метода за проверу да ли ред ради исправно.
именски простор Апп \ Јобс;користите Иллуминате \ Бус \ Куеуеабле;
користите Иллуминате \ Цонтрацтс \ Куеуе \ СхоулдКуеуе;
користите Иллуминате \ Фоундатион \ Бус \ Диспатцхабле;
користите Иллуминате \ Куеуе \ ИнтерацтсВитхКуеуе;
користите Иллуминате \ Куеуе \ СериализесМоделс;
/ * Додати потребни пакети * /
користити пошту;
користите Апп \ Маил \ СендЕмаил;
класа СендингЕмаил имплементира СхоулдКуеуе
користите Диспатцхабле, ИнтерацтсВитхКуеуе, Куеуеабле, СериализесМоделс;
/ **
* Направите нову инстанцу посла.
*
* @ повратак воид
* /
јавна функција __цонструцт ()
//
/ **
* Извршите посао.
*
* @ повратак воид
* /
ручица јавне функције ()
/ * Направите објекат доступне класе и пошаљите е-пошту * /
$ емаил = нови СендЕмаил ();
/ * Подесите важећу адресу е-поште * /
Маил :: на ('Адреса е-поште примаоца') -> пошаљи ($ емаил);
Направите контролер
Покрените следећу наредбу да бисте креирали контролер за управљање редом. Када хандлеКуеуе () извршава се функција контролера, задатак реда ће се гурнути и е-пошта ће се послати.
$ пхп артисан маке: контролер СендЕмаилЦонтроллерСендЕмаилЦонтроллер.пхп
простор имена Апп \ Хттп \ Цонтроллерс;користите Иллуминате \ Хттп \ Рекуест;
/ * Додајте потребне пакете * /
користите Апп \ Јобс \ СендингЕмаил;
користите Царбон \ Царбон;
класа СендЕмаилЦонтроллер проширује Цонтроллер
/ **
* Коришћење редова Ларавел
* /
јавна функција хандлеКуеуе ()
/ * Притисните нови посао у реду послова * /
отпрема (нова СендингЕмаил ());
/ * Штампање поруке након слања е-поште * /
ецхо 'Е-пошта је послата';
Додај руту
Отвори веб.пхп датотека из руте директоријум и додајте следећу руту за извршавање задатка у реду помоћу контролера.
Роуте :: гет ('емаил', '[емаил протецтед]');Покрените следећу УРЛ адресу у прегледачу да бисте проверили да ли код ради. Отворите адресу е-поште примаоца да бисте проверили да ли је примљена нова е-пошта.
хттп: // лоцалхост: 8000 / емаилкуеуе
Додај одлагање
Отвори СендингЕмаил.пхп поново датотеку и измените садржај датотеке хандлеКуеуе () функција за додавање кашњења од пет секунди задацима у реду.
простор имена Апп \ Хттп \ Цонтроллерс;користите Иллуминате \ Хттп \ Рекуест;
/ * Додајте потребне пакете * /
користите Апп \ Јобс \ СендингЕмаил;
користите Царбон \ Царбон;
класа СендЕмаилЦонтроллер проширује Цонтроллер
/ **
* Коришћење редова Ларавел
* /
јавна функција хандлеКуеуе ()
/ * Направите нови објекат у реду са закашњењем од 5 секунди * /
$ емаилЈоб = (нев СендингЕмаил ()) -> делаи (Царбон :: нов () -> аддСецондс (5));
/ * Притисните нови посао у реду послова * /
отпрема ($ емаилЈоб);
/ * Штампање поруке након слања е-поште * /
ецхо 'Е-пошта послата након пет секунди';
Поново покрените следећу УРЛ адресу у прегледачу да бисте проверили да ли код ради. Овде ће се е-пошта послати након пет секунди, користећи методу делаи () од пет секунди.
хттп: // лоцалхост: 8000 / емаилкуеуе
Проверите пријемно сандуче адресе е-поште примаоца да бисте сазнали да ли је нова е-пошта примљена након 5 секунди. Е-маил са следећим садржајем ће бити примљен ако посао у реду ради исправно.
Закључак
Овај водич приказује врло једноставно коришћење реда Ларавел. Ларавел редове можете користити у различите сврхе, на основу захтева ваше апликације. Надам се да је овај водич помогао читаоцима да боље разумеју основне концепте Ларавел редова.