Download the PHP package creativeorange/laravel-injectable without Composer
On this page you can find all versions of the php package creativeorange/laravel-injectable. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download creativeorange/laravel-injectable
More information about creativeorange/laravel-injectable
Files in creativeorange/laravel-injectable
Package laravel-injectable
Short Description Injecting variables into models after they were retrieved from the database.
License MIT
Homepage https://github.com/creativeorange/laravel-injectable
Informations about the package laravel-injectable
Laravel Injectable
A package for injecting variables into models after they were retrieved from the database.
Installation
You can install the package via composer:
For Laravel 8 and lower you should require version 1.
If you are using Spaties Laravel Translatable this package needs an extra plugin, read instructions in: Laravel Injectable translatable extension
Usage
In this example we make use of a Question
model. This model has two attributes: name
and description
.
How are variables stored
Under the hood, we use Laravel's translation system and helper method __()
. Therefor we need variables to be stored as :variable_name
. In this readme, we use the variable :company_name
.
Setup the model
First, make sure the $casts
attribute on the model is filled:
After this, we can replace variables in the from the database retrieved attributes.
Per attribute
As shown here, only the name
attributes will contain replacements, the description
still shows the original text from the database.
Per model
For this, the model needs to use the App\InjectableTrait
trait.
After this, a inject
method is available on the model.
In this example, all variables will be replaced in the fields that were casted by the App\Casts\InjectableCast
.
Per request-cycle
Another use case is that you want to replace all the variables on request-level.
Bonus: The Blade directive: Per request-cycle
Same as above, but then in blade
Testing
Changelog
Please see CHANGELOG for more information what has changed recently.
Credits
- Jaco Tijssen
- Jonathan Hafkamp
- All Contributors
License
The MIT License (MIT). Please see License File for more information.