1
0
Fork 0
mirror of https://github.com/archtechx/tenancy.git synced 2026-02-05 18:34:04 +00:00

Add TenantManagerEvents

This commit is contained in:
Samuel Štancl 2019-08-13 23:36:14 +02:00
parent d7358c588c
commit 82237bd7f3
2 changed files with 80 additions and 0 deletions

View file

@ -0,0 +1,70 @@
<?php
namespace Stancl\Tenancy\Traits;
trait TenantManagerEvents
{
/**
* Event listeners
*
* @var callable[][]
*/
protected $listeners = [
'boostrapping' => [],
'boostrapped' => [],
'ending' => [],
'ended' => [],
];
/**
* Register a listener that will be executed before tenancy is bootstrapped.
*
* @param callable $callback
* @return self
*/
public function bootstrapping(callable $callback)
{
$this->listeners['bootstrapping'][] = $callback;
return $this;
}
/**
* Register a listener that will be executed after tenancy is bootstrapped.
*
* @param callable $callback
* @return self
*/
public function boostrapped(callable $callback)
{
$this->listeners['bootstrapped'][] = $callback;
return $this;
}
/**
* Register a listener that will be executed before tenancy is ended.
*
* @param callable $callback
* @return self
*/
public function ending(callable $callback)
{
$this->listeners['ending'][] = $callback;
return $this;
}
/**
* Register a listener that will be executed after tenancy is ended.
*
* @param callable $callback
* @return self
*/
public function ended(callable $callback)
{
$this->listeners['ended'][] = $callback;
return $this;
}
}