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));
    });
  • 相关阅读:
    图片中添加文字
    几种经典的滤波算法(转)
    OPENCV初试
    图像处理和图像识别中常用的OpenCV函数
    SIP开发
    【转】opencv老是卡在某一层,
    大电子文件读取成二进制流方案
    C# 调试方法之即时窗口输出
    关于如何解锁你的WP7,以便安装自己开发的程序。
    Windows phone 7 之初体验(一.安装Windows phone 7 sdk)
  • 原文地址:https://www.cnblogs.com/webskill/p/7469776.html
Copyright © 2011-2022 走看看