Download the PHP package inmanturbo/laravel-delegator without Composer
On this page you can find all versions of the php package inmanturbo/laravel-delegator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download inmanturbo/laravel-delegator
More information about inmanturbo/laravel-delegator
Files in inmanturbo/laravel-delegator
Package laravel-delegator
Short Description This is my package laravel-delegator
License MIT
Homepage https://github.com/inmanturbo/laravel-delegator
Informations about the package laravel-delegator
For when you need to make some config changes when switching instances on a model, or when you need to track which instance of a model class is currently being used
Similar to spatie/laravel-multitenancy, however this package doesn't limit you to a single model class, or "tenant".
You can have a database model like App\Models\TeamDatabase
or App\Models\AppDatabase
that dynamically sets some config values (and any other action) when changed for the request, for example.
And/or You can also do stuff when switching users, or when switching teams, etc.
Support us
Installation
You can install the package via composer:
You can publish the config file with:
This is the contents of the published config file:
Usage
First publish the config then uncomment the first candidate
in the candidates
array and fill in your correct values.
You can use any model that implements the Inmanturbo\Delegator\Models\Contracts\CandidateModel
interface.
You can use the trait Inmanturbo\Delegator\Models\Concerns\HasCandidateMethods
, or write your own methods to satisfy the interface.
Making a candidate Current
The above will execute the config('delegator.candidates.team.actions.make_current_action')
which will call makeCurrent()
on all of the tasks listed under config('delegator.candidates.team.actions.switch_candidate_tasks')
You can use these tasks to change or set config keys and values, start a lawn mower, etc.
Calling makeCurrent()
on another instance of the model of the same class will first execute config('delegator.candidates.team.actions.forget_current_action')
which calls forgetCurrent()
on all of the same tasks.
You can do this with as many model classes as you want by adding their configurations to the candidates
array in the delegator
config file.
Each class will be tracked seperately, so you can have multiple current models of different types, but only one at a time of each type.
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- inmanturbo
- All Contributors
- This package was heavily inspired by spatie/laravel-multitenancy
License
The MIT License (MIT). Please see License File for more information.
All versions of laravel-delegator with dependencies
illuminate/contracts Version ^10.0
laravel/octane Version ^1.5
spatie/laravel-package-tools Version ^1.14.0