phpooya / events
事件基础系统。
dev-master
2019-08-15 17:48 UTC
Requires (Dev)
- codeception/codeception: 3.0.3
This package is not auto-updated.
Last update: 2024-09-21 16:06:10 UTC
README
新的层级架构以保持您的项目设计模式。
安装
composer require phpooya/events
如何使用
如示例所示,将EventTrait
添加到您的类中,并在您的代码中使用$this->trigger()
<?php
use phpooya\events\EventTrait;
use phpooya\events\EventData;
class UserModel
{
use EventTrait;
public $name;
public $email;
public $password;
public function find() : array
{
$eventData = new EventData($this);
$this->trigger($eventData, "before");
$returnData = []; //retrieve data from DB...
$this->trigger($eventData, "after");
return $returnData;
}
public function save() : bool
{
$eventData = new EventData($this);
$this->trigger($eventData, "before");
$returnData = true; //save data in DB...
$this->trigger($eventData, "after");
return $returnData;
}
}
UserModel::on('before.find', function($data){ /* do something you want... */ });
UserModel::on('after.find', function($data){ $data->target->password = "********"; });
UserModel::on('after.save', function($data){ /* add log for error... */ });