Download the PHP package mindtwo/laravel-decorator without Composer
On this page you can find all versions of the php package mindtwo/laravel-decorator. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download mindtwo/laravel-decorator
More information about mindtwo/laravel-decorator
Files in mindtwo/laravel-decorator
Package laravel-decorator
Short Description Decorators for Eloquent Models in Laravel
License MIT
Informations about the package laravel-decorator
Laravel Decorator
Installation
You can install the package via composer:
How to use?
Preparing the Eloquent Model
To use a decorator the underlaying eloquent model must implement the Decoratable
interface.
Farther you should use the HasDecorator
trait, which implements the required methods.
You can optionally setup a default decorator on the eloquent model,
which will be used when you call the decorate()
method without any params.
Writing a Decorator
To write a decorator simply extend the basic decorator class.
You can access the undelaying eloquent model by the $this->model
property.
Whenever you try to access a property on the decorator, it will first look for
a function with the camilzed property name. If it is defined, it will be called,
otherwise it will be forwarded to the underlaying eloquent model.
Using a Decorator
To use a decorator simply call the decorate()
method on the model.
You can use the full qualified class name of a decorator class as parameter to
specify a decorator, otherwise the default decorator will be used.
It is also possible to call the 'decorate()' method on collections, cause the package autmatically registers it as a macro.
Note that all items in the collection must implement the Decoratable
interface,
otherwise this will throw an exception.
Changelog
Please see CHANGELOG for more information what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security
If you discover any security related issues, please email [email protected] instead of using the issue tracker.
Credits
- mindtwo GmbH
- All Other Contributors
License
The MIT License (MIT). Please see License File for more information.