Fork me on Baidu

observer 监听的实现 laravel 框架

监听模式 又叫观察者模式  代码之间降低解耦 降低了耦合度 。代码不会显得的臃肿 

首先 创建一个  模型层  php artisan make:model models/exam/User;

然后创建  observer  监听php artisan make:observer  UserObserve  -models/models/exam/User

然后再Apperserviceprovider  进行注册

<?php

namespace App\Providers;

use App\Models\models\exam\User;
use App\Observers\UserObserve;
use Illuminate\Support\Facades\Schema;
use Illuminate\Support\ServiceProvider;

class AppServiceProvider extends ServiceProvider
{
public function register()
{

}

/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
//进行注册创建监听
User::observe(UserObserve::class);
Schema::defaultStringLength(191);
}
}




模型层的代码
public function index(Request $request)
{
$data=[
'username'=>'张三',
'password'=>'234'
];
\App\Models\models\exam\User::create($data);
//添加数据 监听事件监听
return ['code'=>200,'msg'=>'success','data'=>$data];
}






这个意思是当用户注册成功的时候 就进行邮件的发送 当然 也可以使用事务放到一起
遮掩干就避免信息的丢失,像一些优惠券的活动 用户 购买了以后 优惠券就要自动消失了
然后 可以使用事务保证数据的一致性























































































































posted @ 2021-03-10 15:33  consideration  阅读(249)  评论(0编辑  收藏  举报