datacreativa/laravel-presentable

为 Eloquent 模型创建演示者

v1.2.0 2023-02-21 04:44 UTC

This package is not auto-updated.

Last update: 2024-09-18 23:56:48 UTC


README

Total Downloads GitHub Actions

Banner

此包允许通过在模型演示者类中定义的方法以不同的方式展示信息。

安装

您可以通过 composer 安装此包

composer require datacreativa/laravel-presentable

用法

在任意 Eloquent 模型中使用 HasPresentable 特性,您还必须添加 $presenter 属性。

use App\Models\Presenters\UserPresenter;
use TheHiveTeam\Presentable\HasPresentable;

class User extends Model
{
    use HasPresentable;

    protected $presenter = UserPresenter::class;
}

您可以使用此命令生成一个类演示者

php artisan make:presenter UserPresenter

在此类中,您可以定义任何方法,例如

namespace App\Models\Presenters;

use TheHiveTeam\Presentable\Presenter;

class UserPresenter extends Presenter
{
    public function name()
    {
        return ucwords($this->model->name);
    }
}

现在您在 Eloquent 模型中有了可用的 present() 方法。

$user = (new User)->setAttribute('name', 'john doe');
$user->present()->name;
// John Doe

享受它吧!

测试

composer test

更新日志

请参阅 更新日志 了解最近更改的更多信息。

贡献

请参阅 贡献指南 了解详细信息。

鸣谢

许可证

MIT 许可证 (MIT)。请参阅 许可证文件 了解更多信息。