mirror of
https://github.com/archtechx/tenancy.git
synced 2026-02-05 09:04:03 +00:00
event system
This commit is contained in:
parent
2cc55aaa42
commit
8da31fa7b6
2 changed files with 37 additions and 0 deletions
|
|
@ -27,6 +27,7 @@ return [
|
|||
'Custom Database Names' => 'docs/custom-database-names',
|
||||
'Tenancy Initialization' => 'docs/tenancy-initialization',
|
||||
'Filesystem Tenancy' => 'docs/filesystem-tenancy',
|
||||
'Event System' => 'docs/event-system',
|
||||
'Writing Storage Drivers' => 'docs/writing-storage-drivers',
|
||||
'Development' => 'docs/development',
|
||||
],
|
||||
|
|
|
|||
36
source/docs/event-system.md
Normal file
36
source/docs/event-system.md
Normal file
|
|
@ -0,0 +1,36 @@
|
|||
---
|
||||
title: The Event System
|
||||
description: The Event System | stancl/tenancy — A Laravel multi-database tenancy package that respects your code..
|
||||
extends: _layouts.documentation
|
||||
section: content
|
||||
---
|
||||
|
||||
# The Event System
|
||||
|
||||
You can use event hooks to change the behavior of the tenancy boostrapping and tenancy ending processes.
|
||||
|
||||
The following events are available:
|
||||
- `boostrapping`
|
||||
- `boostrapped`
|
||||
- `ending`
|
||||
- `ended`
|
||||
|
||||
You can hook into these events using `Tenancy::<eventName>`:
|
||||
```php
|
||||
Tenancy::boostrapping(function ($tenantManager) {
|
||||
if ($tenantManager->tenant['uuid'] === 'someUUID') {
|
||||
config(['database.connections.someDatabaseConnection' => $tenantManager->tenant['databaseConnection']]);
|
||||
$tenantManager->database->useConnection('someDatabaseConnection');
|
||||
|
||||
return ['database'];
|
||||
}
|
||||
});
|
||||
```
|
||||
|
||||
The example above checks whether the current tenant has an uuid of `someUUID`. If yes, it creates a new database connection based on data stored in the tenant's storage. Then it changes the default database connection. Finally, it returns an array of the events that this callback prevents.
|
||||
|
||||
The following actions can be prevented:
|
||||
- database connection switch: `database`
|
||||
- Redis prefix: `redis`
|
||||
- CacheManager switch: `cache`
|
||||
- Filesystem changes: `filesystem`
|
||||
Loading…
Add table
Add a link
Reference in a new issue