zoukankan      html  css  js  c++  java
  • laravel event

    事件监听

    方法一:
    web.php

    Event::listen('eloquent.created: Apppost',function(){
        dump('A post was created');
    });
    
    Route::get('/event53',function(){
        Apppost::create(['title'=>'Title','content'=>'My Body']);
    });
    

    方法二:

    注释掉

    Event::listen('eloquent.created: Apppost',function(){
            dump('A post was created');
        });
    

    post模型中定义事件

    <?php
    
    namespace App;
    
    use AppEventsPostWasPublished;
    use IlluminateDatabaseEloquentModel;
    
    class post extends Model
    {
        protected $guarded = array();
        protected $events = [
           'created' => PostWasPublished::class
        ];
    }
    

    修改EventServiceProvider.php 中的$listen属性 创建事件和事件监听文件

    protected $listen = [
        'AppEventsPostWasPublished' => [
            'AppListenersPostWasPublishedListener',
        ],
    ];
    

    执行 php artisan event:generate

    ** 还可以依赖注入 **

    AppEventsPostWasPublished.php

    public $post;
    
    public function __construct($post)
    {
        $this->post = $post;
    }
    

    AppListenersPostWasPublishedListener.php

     public function handle(PostWasPublished $event)
         {
             dump($event->post->toArray());
         }
    

    方法三:普通路由触发event

    app/Providers/EventServiceProvider.php

    protected $listen = [
            'AppEventsUserSignUp' => [
                'AppListenersUserSignUpListener',
            ],
        ];
    

    UserSignUp.php

     use AppUser;
     public $user;
     public function __construct(User $user)
     {
         $this->user = $user;
     }   
    

    UserSignUpListener.php

    public function handle(UserSignUp $event)
    {
        dd($event->user->name);
    }
    

    web.php

    Route::get('/eventroute',function(){
        $user = AppUser::find(1);
       event(new AppEventsUserSignUp($user));
    });
  • 相关阅读:
    MFC Windows 程序设计>WinMain 简单Windows程序 命令行编译
    AT3949 [AGC022D] Shopping 题解
    CF643D Bearish Fanpages 题解
    CF643C Levels and Regions 题解
    CF241E Flights 题解
    CF671C Ultimate Weirdness of an Array 题解
    CF1592F Alice and Recoloring 题解
    GYM 102452E 题解
    CF494C Helping People 题解
    P5556 圣剑护符
  • 原文地址:https://www.cnblogs.com/webskill/p/7469776.html
Copyright © 2011-2022 走看看