Laravel — Обработка событий

Laravel — Обработка событий

От автора: в Laravel события — это распознанные программой действия, которые могут обрабатываться определенным образом. События Laravel просто обеспечивают реализацию обработчика. Событие может обрабатываться следующим образом.

Шаг 1. Создайте класс Event. Класс Event можно создать, выполнив следующую команду.

Замените <event-class> на имя класса события. Созданный класс будет сохранен в папке app\Events.

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее

Шаг 2. Создайте класс обработчика для обработки созданного события. Класс обработчика события можно создать, выполнив следующую команду.

Замените event-class на имя класса события, который мы создали в шаге 1, а класс handler-class замените на имя класса обработчика. Созданный класс обработчика будет сохранен в app\Handlers\Events.

Шаг 3 — Зарегистрируйте класс Event и его обработчик в классе EventServiceProvider. Теперь нам нужно зарегистрировать событие и его класс обработчика в файле app\Providers\EventServiceProvier.php. Этот файл содержит массив с именем $listen. В этом массиве нам нужно добавить класс события в качестве ключа, а класс обработчика события в качестве его значения.

Шаг 4 — Запуск события. Последний шаг — запустить событие с помощью вспомогательного класса Event Facade. Для этого должна вызываться функция fire(), которая принимает объект класса event. Событие может быть запущено, как показано ниже:

Замените Event Class Object на имя объекта события.

Пример

Шаг 1. Создайте контроллер с именем CreateStudentController , выполнив следующую команду.

Шаг 2 — После выполнения данной команды вы получите следующий результат:

Laravel — Обработка событий

Шаг 3 — Скопируйте в файл app/Http/Controllers/CreateStudentController.php следующий код.

Шаг 4 — Создайте событие с именем StudentAdded, выполнив следующую команду.

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее

Шаг 5 — После выполнения данной команды вы получите следующий результат:

Laravel — Обработка событий

Шаг 6 – Приведенная выше команда создаст событие в файле App\Events\StudentAdded.php. Скопируйте в этот файл следующий код.

Шаг 7 — Создайте обработчик события HandleNewStudentAdded, выполнив следующую команду.

Шаг 8 — После выполнения данной команды вы получите следующий результат:

Laravel — Обработка событий

Шаг 9 – Приведенная выше команда создаст обработчик события в файле app\Handlers\Events\HandleNewStudentAdded.php. Скопируйте в этот файл следующий код.

Шаг 10 — Теперь нам нужно добавить класс события в класс обработчика этого события в файле app\Providers\EventServiceProvider.php. Обратите внимание на выделенную жирным шрифтом строку и добавьте ее в файл.

Шаг 11 — Добавьте в файл app/Http/routes.php следующие строки.

Шаг 12 – Перейдите по следующему URL-адресу, чтобы проверить событие. http://localhost:8000/event

Шаг 13 — Вы должны увидеть на экране следующее:

Laravel — Обработка событий

Шаг 14 — Введите имя студента и нажмите кнопку «Add student», вы будете перенаправлены на следующую страницу. Обратите внимание на строку выделенную серым цветом. Мы добавили эту строку в метод обработчика класса HandleNewStudentAdded, она информирует о том, что при запуске события в методе обработчика были выполнены операторы.

Laravel — Обработка событий

Источник: https://www.tutorialspoint.com/

Редакция: Команда webformyself.

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Узнать подробнее

Фреймворк Laravel. Быстрая разработка с фреймворком №1

Узнай тонкости современной веб-разработки с помощью фреймворка Laravel

Научиться

Метки:

Похожие статьи:

Комментарии Вконтакте:

Комментарии Facebook:

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *

Можно использовать следующие HTML-теги и атрибуты: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code class="" title="" data-url=""> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre class="" title="" data-url=""> <span class="" title="" data-url="">

Я не робот.

Spam Protection by WP-SpamFree