목차
Event.php
SomeEvent.php
Listeners
EventListener.php
PHP 프레임워크 Laravel Laravel - 이벤트 처리

Laravel - 이벤트 처리

Aug 27, 2024 am 10:50 AM
laravel

이벤트는 사용자가 웹 애플리케이션에서 트리거되는 다양한 이벤트를 구독하고 들을 수 있는 간단한 관찰자 구현을 제공합니다. Laravel의 모든 이벤트 클래스는 app/Events 폴더에 저장되고 리스너는 app/Listeners 폴더에 저장됩니다.

웹 애플리케이션에서 이벤트 및 리스너를 생성하는 artisan 명령은 아래와 같습니다 −

 php artisan event:generate

이 명령은 위에서 설명한 대로 각 폴더에 이벤트와 리스너를 생성합니다.

Event Generator

이벤트와 리스너는 하나의 이벤트에 독립적인 여러 리스너가 있을 수 있으므로 웹 애플리케이션을 분리하는 좋은 방법을 제공합니다. 서로. artisan 명령으로 생성된 이벤트 폴더에는 event.php 및 SomeEvent.php라는 두 파일이 포함되어 있습니다. 여기에 표시됩니다 −

Event.php

<?php
네임스페이스 AppEvents;
추상 클래스 이벤트{
   //
}

위에서 언급했듯이 event.php에는 Event 클래스의 기본 정의가 포함되어 있으며 AppEvents 네임스페이스를 호출합니다. 이 파일에는 사용자 정의 또는 맞춤 이벤트가 생성되므로 주의하세요.

SomeEvent.php

<?php

네임스페이스 AppEvents;

AppEventsEvent를 사용하세요.
IlluminateQueueSerializesModels를 사용하세요.
IlluminateContractsBroadcastingShouldBroadcast를 사용하세요.

클래스 SomeEvent는 이벤트를 확장합니다.{
   SerializesModel을 사용하세요.
   /**      * 새 이벤트 인스턴스를 만듭니다.
      *
      * @return 무효
   */
   
   공개 함수 __construct() {
      //
   }
   
   /**      * 이벤트가 방송되어야 하는 채널을 확인하세요.
      *
      * @return 배열
   */
   
   공개 함수 BroadcastOn() {
      반품 [];
   }
}

이 파일은 웹 애플리케이션에서 이벤트를 브로드캐스팅하기 위해 직렬화를 사용하고 필요한 매개변수도 이 파일에서 초기화된다는 점을 확인하세요.

예를 들어, 이벤트 등록을 위해 생성자에서 순서 변수를 초기화해야 하는 경우 다음을 수행할 수 있습니다. 다음과 같은 방법으로 수행하세요 −

public function __construct(Order $order) {
   $this->주문 = $order;
}

Listeners

Listeners는 등록 중인 이벤트에 언급된 모든 활동을 처리합니다. artisan 명령 event:generateapp/listeners 디렉토리에 모든 listeners를 생성합니다. Listeners 폴더에는 리스너를 처리하는 데 필요한 모든 메서드가 포함된 EventListener.php 파일이 포함되어 있습니다.

EventListener.php

<?php

네임스페이스 AppListener;

AppEventsSomeEvent를 사용하세요.
IlluminateQueueInteractsWithQueue를 사용하세요.
IlluminateContractsQueueShouldQueue를 사용하세요.

클래스 EventListener{
   /**      * 이벤트 리스너를 생성합니다.
      *
      * @return 무효
   */
   
   공개 함수 __construct() {
      //
   }

   /**      * 이벤트를 처리합니다.
      *
      * @param SomeEvent $event
      * @return 무효
   */
   
   공개 함수 핸들(SomeEvent $event) {
      //
   }
}

코드에서도 언급했듯이 다양한 이벤트를 관리하기 위한 handle 함수가 포함되어 있습니다. 단일 이벤트를 대상으로 하는 다양한 독립 리스너를 만들 수 있습니다.

위 내용은 Laravel - 이벤트 처리의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Stock Market GPT

Stock Market GPT

더 현명한 결정을 위한 AI 기반 투자 연구

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제

Laravel에서 웅변적인 사용 방법 Laravel에서 웅변적인 사용 방법 Aug 21, 2025 pm 02:30 PM

모델 및 마이그레이션 생성 : PhpartisanMake : ModelPost-M을 사용하여 모델 및 마이그레이션 파일을 생성하고 테이블 구조를 정의하고 PhPartisanGiGrate를 실행하십시오. 2. 기본 CRUD 작업 : post :: all (), find (), create (), save () 및 delete () 메소드를 사용하여 데이터를 쿼리, 작성, 업데이트 및 삭제합니다. 3. Eloquent Association 사용 : 모델에서 Solgsto 및 Hasmany 관계를 정의하고 with () 메소드를 사용하여 관련 데이터를 사전로드하여 N 1 쿼리 문제를 피하십시오. 4. 웅변 쿼리 : 쿼리 생성자를 사용하여 체인 호출을 어디에

Laravel과 함께 소셜 네트워크를 만드는 방법 Laravel과 함께 소셜 네트워크를 만드는 방법 Sep 01, 2025 am 06:39 AM

예, YouCancreateAcialnetworkwithLaravelByFollowingThesSteps : 1. SetuplaravelusingComposer, ConfiguretHe.envfile, enableAuthenticationViabreeze/jetstream/fortify, Andrunmigrations foruserManagement.2.implementcorefeatincludingusproffiles

Laravel의 작업 일정을 사용하는 방법 Laravel의 작업 일정을 사용하는 방법 Aug 31, 2025 am 06:07 AM

Laravel의 작업을 예방하는 시스템은 PHP를 통해 타이밍 작업을 정의하고 관리 할 수 ​​있습니다. 서버 Crontab을 수동으로 편집하지 않고 서버에 1 분에 한 번만 실행되는 CRON 작업 만 추가하면됩니다 : *CD/PATH-to-YOURPROJECT && PHPARTISANSCHEDUL : RUN >>/dev/null2> & 1, 그리고 모든 작업은 일정 구성에서 구성되어 있습니다. 1. 작업 정의는 $ 일정과 같은 명령, 전화 또는 실행 방법을 사용할 수 있습니다.

Laravel에서 다형성 관계로 작업하는 방법 Laravel에서 다형성 관계로 작업하는 방법 Aug 25, 2025 am 10:56 AM

다형성 상관 관계 제시자 라벨로 아라 모드 리크 커먼 토리마다 벨롱 곤트 류드 렘 델스 슈카 스파 스 포스트, 비디오, oruserusingasingLeassociation.2. oruserusingAdAsingLeassociation.2

라벨 애플리케이션을 국제화하는 방법 라벨 애플리케이션을 국제화하는 방법 Aug 22, 2025 pm 02:31 PM

언어 파일 생성 : 리소스/lang 디렉토리에서 각 언어 (예 : en, es)에 대한 하위 디렉토리를 만들고 messages.php 파일을 추가하거나 JSON 파일을 사용하여 번역을 저장하십시오. 2. 애플리케이션 언어 설정 : 요청 헤더 읽기 헤더를 읽고 미들웨어를 통해 언어를 허용하거나 URL 접두사를 통해 언어를 감지하고 app ()-> setlocale ()을 사용하여 현재 언어를 설정하고 kernel.php에 미들웨어를 등록하십시오. 3. 번역 함수 사용 : 번역 내용을 얻으려면 __ (), trans () 또는 @lang을 사용하면 폴백을 지원하는 __ ()를 사용하는 것이 좋습니다. 4. 지원 매개 변수 및 복수 : 다음과 같은 번역 문자열에서 자리 표시자를 사용합니다.

Laravel으로 모바일 앱 백엔드를 구축하는 방법 Laravel으로 모바일 앱 백엔드를 구축하는 방법 Sep 02, 2025 am 08:34 AM

Laravel을 사용하여 모바일 백엔드를 구축하려면 먼저 프레임 워크를 설치하고 데이터베이스 환경을 구성해야합니다. 2. Routes/API.php에서 API 경로를 정의하고 리소스 컨트롤러를 사용하여 JSON 응답을 반환합니다. 3. Laravelsanctum을 통해 API 인증을 구현하여 모바일 저장 및 인증을위한 토큰을 생성합니다. 4. 파일을 업로드 할 때 파일 유형을 확인하고 공개 디스크에 저장하고 외부 액세스를위한 소프트 링크를 만듭니다. 5. 생산 환경에는 HTTPS, 현재 한도 설정, CORS 구성, API 버전 제어를 수행하고 오류 처리를 최적화해야합니다. API 리소스, 페이징, 큐 및 API 문서 도구를 사용하여 유지 관리 및 성능을 향상시키는 것이 좋습니다. Laravel을 사용하여 금고를 구축하십시오.

Laravel의 파일에 메시지를 로그인하는 방법은 무엇입니까? Laravel의 파일에 메시지를 로그인하는 방법은 무엇입니까? Sep 21, 2025 am 06:04 AM

Laravelusesmonologtomessagesviathelogfacade, witlefaultLogsStoredInstorage/logss/laRavel.log.configureChannelSinconfig/logging.phptocontroloutput; thedefaultStackChannelAggatesmultipleAndlerLerslikesingle, whitesLog

Laravel에서 '기억'기능을 구현하는 방법 Laravel에서 '기억'기능을 구현하는 방법 Aug 31, 2025 am 08:53 AM

사용자 테이블에 remember_token 열이 있는지 확인하십시오. Laravel의 기본 마이그레이션에는 이미이 필드가 포함되어 있습니다. 그렇지 않다면, 마이그레이션을 통해 추가됩니다. 2. 로그인 양식에 이름을 기억하는 확인란을 추가하여 "기억"옵션을 제공하십시오. 3. 지속적인 로그인을 활성화하기 위해 수동 인증 중에 기억 매개 변수를 Auth :: ritch () 메소드로 전달합니다. 4. "Remember Me"는 기본적으로 5 년 동안 지속되며 config/auth.php의 configuration 항목을 통해 사용자 정의 할 수 있습니다. 5. Laravel은 비밀번호가 변경되거나 사용자 삭제 될 때 Semem_token을 자동으로 무효화합니다. 생산 환경에서 보안을 보장하기 위해 HTTP를 사용하는 것이 좋습니다. 6

See all articles