figlabhq / crud-resource-for-backpack
使用流畅字段定义构建 CRUD 面板。
1.0.8
2023-10-23 13:16 UTC
Requires
- backpack/crud: ^5.0|^6.0|v6.x-dev
- illuminate/support: ^7|^8|^9|^10
Requires (Dev)
- orchestra/testbench: ~5|~6
- phpunit/phpunit: ~9.0
README
此包允许使用流畅字段定义创建 Backpack for Laravel 管理面板的 CRUD 面板。
它深受 Laravel Nova 的启发。
它提供了什么?
- 定义一次资源,为 CRUD 面板准备所有配置 🚀
- 获取 IDE 提示 - 这些都是 PHP 类 😉
- 避免长、嵌套、难以记忆的数组配置 🥱
- 通过 Fluent Interface 模式 拥抱面向对象 API 的优雅 ⚙️
安装
通过 Composer
composer require figlabhq/crud-resource-for-backpack
用法
-
创建一个新的类,定义您模型所需的字段。以下是一个标准 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(), ]; } }
-
在您的 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(); } }
-
享受一个完全功能的 CRUD 面板 🎉
文档
即将推出...请保持关注 😅
变更日志
更改记录在 Github 上。请参阅 发布标签。
贡献
请参阅 contributing.md 以获取待办事项列表和操作说明。
安全
如果您发现任何与安全相关的问题,请通过电子邮件 hello@figlab.io 而不是使用问题跟踪器。
致谢
许可证
该项目以 MIT 许可发布,因此您可以在任何 Backpack & Laravel 项目上安装它。有关更多信息,请参阅 许可证文件。
但是,请注意,您确实需要安装 Backpack,因此您还需要遵守其 YUMMY 许可证。这意味着在生产中,您将需要 Backpack 许可证代码。您可以在 backpackforlaravel.com 上免费获得一个非商业用途的许可证(或商业用途的付费许可证)。