figlabhq/crud-resource-for-backpack

使用流畅字段定义构建 CRUD 面板。

1.0.8 2023-10-23 13:16 UTC

This package is auto-updated.

Last update: 2024-09-23 15:20:41 UTC


README

Latest Version on Packagist Total Downloads The Whole Fruit Manifesto

此包允许使用流畅字段定义创建 Backpack for Laravel 管理面板的 CRUD 面板。

它深受 Laravel Nova 的启发。

它提供了什么?

  • 定义一次资源,为 CRUD 面板准备所有配置 🚀
  • 获取 IDE 提示 - 这些都是 PHP 类 😉
  • 避免长、嵌套、难以记忆的数组配置 🥱
  • 通过 Fluent Interface 模式 拥抱面向对象 API 的优雅 ⚙️

安装

通过 Composer

composer require figlabhq/crud-resource-for-backpack

用法

  1. 创建一个新的类,定义您模型所需的字段。以下是一个标准 Laravel User 模型的示例:

    <?php declare(strict_types=1);
    
    namespace App\CrudResources;
    
    use FigLab\CrudResource\CrudResource;
    use App\Models\User;
    use FigLab\CrudResource\Fields\Email;
    use FigLab\CrudResource\Fields\Password;
    use FigLab\CrudResource\Fields\Select;
    use FigLab\CrudResource\Fields\Text;
    
    class UserCrudResource extends CrudResource
    {
        public function fields(): array
        {
            return [
                Text::make('Name')
                    ->sortable(),
    
                Email::make('Email'),
    
                Password::make('Password')
                    ->size(6)
                    ->onlyOnForms(),
    
                Password::make('Confirm Password', 'password_confirmation')
                    ->size(6)
                    ->onlyOnForms(),
            ];
        }
    }
  2. 在您的 Crud 控制器中调用相关方法

    <?php declare(strict_types=1);
    
    namespace App\Http\Controllers;
    
    use App\CrudResources\User\UserCrudResource;
    
    class UserCrudController extends CrudController
    {
        private UserCrudResource $crudResource;
    
        public function setup()
        {
            $this->crud->setModel(\App\Models\User::class);
            $this->crud->setRoute(config('backpack.base.route_prefix') . '/users');
            $this->crud->setEntityNameStrings('user', 'users');
    
            $this->crudResource = new UserCrudResource($this->crud);
        }
    
        protected function setupListOperation(): void
        {
            $this->crudResource->buildList();
        }
        
        protected function setupCreateOperation(): void
        {
            $this->crud->setValidation(UserStoreRequest::class);
    
            $this->crudResource->buildCreateForm();
        }
        
        protected function setupUpdateOperation(): void
        {
            $this->crud->setValidation(UserUpdateRequest::class);
    
            $this->crudResource->buildUpdateForm();
        }
    }
  3. 享受一个完全功能的 CRUD 面板 🎉

    User Listing

    User Create/Update

文档

即将推出...请保持关注 😅

变更日志

更改记录在 Github 上。请参阅 发布标签

贡献

请参阅 contributing.md 以获取待办事项列表和操作说明。

安全

如果您发现任何与安全相关的问题,请通过电子邮件 hello@figlab.io 而不是使用问题跟踪器。

致谢

许可证

该项目以 MIT 许可发布,因此您可以在任何 Backpack & Laravel 项目上安装它。有关更多信息,请参阅 许可证文件

但是,请注意,您确实需要安装 Backpack,因此您还需要遵守其 YUMMY 许可证。这意味着在生产中,您将需要 Backpack 许可证代码。您可以在 backpackforlaravel.com 上免费获得一个非商业用途的许可证(或商业用途的付费许可证)。