Warning
This is an experimental package!
You can install the package via composer:
composer require wendelladriel/laravel-liftAdd the Lift trait to models that should use typed public properties and Lift attributes:
use Illuminate\Database\Eloquent\Model;
use WendellAdriel\Lift\Attributes\Cast;
use WendellAdriel\Lift\Attributes\Fillable;
use WendellAdriel\Lift\Attributes\Rules;
use WendellAdriel\Lift\Lift;
final class Product extends Model
{
use Lift;
#[Fillable]
#[Rules(['required', 'string', 'max:255'])]
public string $name;
#[Fillable]
#[Cast('integer')]
#[Rules(['required', 'integer', 'min:0'])]
public int $stock;
}Lift reads those attributes and applies the matching Eloquent configuration through model events. This keeps model behavior close to the property it describes while still using standard Eloquent models.
Access the full documentation here.
Please see the changelog for more information on what has changed recently.
Thank you for considering contributing to Lift! You can read the contribution guide here.
Please review our security policy on how to report security vulnerabilities.
Lift is open-sourced software licensed under the MIT license.
