Hey there!
Today was release of Laravel Presentable Package to 0.0.2 versión for support Laravel Framework v9.
This package allow create presenter classes for Eloquent models. A presenter class allows you to separate displays concerns from model data in a specific class.
Installation
composer require datacreativa/laravel-presentable
For example add the trait HasPresentable to User Model.
use App\Models\Presenters\UserPresenter;
use TheHiveTeam\Presentable\HasPresentable;
class User extends Model
{
use HasPresentable;
protected $presenter = UserPresenter::class;
}
$presenter property that defines the presenter class.
Here's an example of what a presenter class will look like:
namespace App\Models\Presenters;
use TheHiveTeam\Presentable\Presenter;
class UserPresenter extends Presenter
{
public function name()
{
return ucwords($this->model->name);
}
}
Using the User model as an example, you can now access presenter methods in the view:
$user->present()->name;
If you find that separating view display logic into a dedicated presenter class makes sense, this package could be an excellent fit.
For more info, here the repository
https://github.com/datacreativa/laravel-presentable
Regards,
Jonathan
Top comments (0)