apriandanailus / cruder
CRUD artisan
This package is not auto-updated.
Last update: 2024-10-03 07:32:32 UTC
README
为指定的名称创建一个模型、控制器(包含存储库、验证请求、事件和监听器)、迁移、路由、面包屑和 CRUD 视图,以便在 [后端] 上使用。
从版本 1.4 开始,您还可以可选地生成前端文件:控制器、标签、事件、请求、监听器、视图、路由和存储库。
默认情况下,它不会覆盖任何可能存在的预定义名称的文件。因此,如果您删除了一个文件并再次运行命令,则删除的文件将再次创建,其余的将被忽略,并将保留您可能做出的更改。
要求
它已在 Laravel 5.7 上进行了测试。
安装
composer require apriandanailus/cruder
运行
在您的 Laravel 项目根目录下
php artisan l5b:crud example
其中 example 是您想要的模型名称(路由、视图、控制器等)。我已经尝试遵循最佳命名实践,并在需要时使用复数或单数名称以及小写或大写。您也可以使用 camelCase 或 snake_case。
参数 example、Example、examples 或 EXAMPLES 都会产生相同的结果。
然后运行创建的迁移
php artisan migrate
在您的浏览器中打开
https://YOUR_SITE/admin/examples
...看! :)
注意:开箱即用,除了 id、deleted_at、created_at 和 updated_at 以外的 title 文本字段外,表中没有其他字段。在运行迁移命令之前,请编辑您新创建的迁移文件以添加您可能需要的任何其他字段。
选项
您可以通过运行带有 --migrate 选项的命令来创建所有文件并运行迁移
php artisan l5b:crud example --migrate
or
php artisan l5b:crud example -m
您还可以使用 --field 选项指定默认文本字段 'title' 的名称为任何您喜欢的名称
php artisan l5b:crud example --field=name
or
php artisan l5b:crud example -f name
您还可以使用 --force 选项覆盖先前创建的文件
php artisan l5b:crud example --force
要生成前端文件,您应该使用 --frontend 选项
php artisan l5b:crud example --frontend
包括菜单项
在 /resources/views/backend/example/includes 文件夹中创建了一个名为 sidebar-examples.blade.php 的文件。它包含访问您最近创建的视图的菜单项的 HTML 代码。您可以通过在 /resources/views/backend/includes/sidebar.blade.php 中包含以下行来在侧边栏中显示它,无论您想在何处显示它
@include('backend.example.includes.sidebar-examples')
事件和监听器
该包为创建、更新和删除项方法生成三个事件和监听器。为了使这些事件正常工作,您必须在事件分配器中注册它们,将此行添加到您的 Providers/EventServiceProvider.php 文件中(在 Backend Subscribers 下)
\App\Listeners\Backend\Example\ExampleEventListener::class
语言行
自定义的英文语言行可以在 /resources/lang/en 中找到。有一个用于后端(backend_examples.php)的文件,还有一个用于前端(frontend_examples.php)的文件。
创建的后端文件
模型
app/Models/Example.php
属性特质
app/Models/Traits/Attribute/ExampleAttribute.php
这是新对象的操作按钮所在的位置。
控制器
app/Http/Controllers/Backend/ExampleController.php
它包含 CRUD 方法:index、create、store、show、edit、update、destroy、delete、restore 和 deleted。
存储库
app/Repositories/Backend/ExampleRepository.php
包含数据库逻辑。
请求
app/Http/Requests/Backend/ManageExampleRequest.php
app/Http/Requests/Backend/StoreExampleRequest.php
app/Http/Requests/Backend/UpdateExampleRequest.php
验证管理、存储和更新请求。
事件
app/Events/Backend/Example/ExampleCreated.php
app/Events/Backend/Example/ExampleUpdated.php
app/Events/Backend/Example/ExampleDeleted.php
监听器
app/Listeners/Backend/Example/ExampleEventListener.php
迁移
database/migrations/\YYYY_MM_DD_create_examples_table.php
路由
routes/backend/examples.php
包含命名路由 admin.examples.index、admin.examples.deleted、admin.examples.restore、delete-permanently、admin.examples.create、admin.examples.store、admin.examples.show、admin.examples.edit、admin.examples.update 和 admin.examples.destroy。
面包屑
routes/breadcrumbs/backend/example.php
这包含路由 admin.examples.index、admin.examples.create、admin.examples.show、admin.examples.edit 和 admin.examples.deleted 的面包屑。
以下行需要添加到 routes/breadcrumbs/backend/backend.php
require **DIR**.'/example.php';
如果您删除了由该命令创建的 routes/breadcrumbs/backend/example.php 文件,请务必删除此行,否则您的整个项目可能会崩溃。
视图
resources/views/backend/example/index.blade.php
resources/views/backend/example/show.blade.php
resources/views/backend/example/create.blade.php
resources/views/backend/example/edit.blade.php
resources/views/backend/example/deleted.blade.php
resources/views/backend/example/includes/breadcrumb-links.blade.php
resources/views/backend/example/includes/header-buttons.blade.php
如果您为您的数据表添加了更多字段,您需要编辑 show.blade.php、create.blade.php 和 edit.blade.php 以满足您的需求。
菜单项
sidebar-examples.blade.php
这是您的 Laravel 5 模板侧边栏菜单项的 HTML 代码。
创建的前端文件
控制器
app/Http/Controllers/Frontend/ExampleController.php
它包含 CRUD 方法:index、create、store、show、edit、update、destroy、delete、restore 和 deleted。
存储库
app/Repositories/Frontend/ExampleRepository.php
包含数据库逻辑。
请求
app/Http/Requests/Frontend/ManageExampleRequest.php
app/Http/Requests/Frontend/StoreExampleRequest.php
app/Http/Requests/Frontend/UpdateExampleRequest.php
验证管理、存储和更新请求。
事件
app/Events/Frontend/Example/ExampleCreated.php
app/Events/Frontend/Example/ExampleUpdated.php
app/Events/Frontend/Example/ExampleDeleted.php
监听器
app/Listeners/Frontend/Example/ExampleEventListener.php
路由
routes/frontend/examples.php
包含命名路由 examples.index、examples.deleted、examples.restore、delete-permanently、examples.create、examples.store、examples.show、examples.edit、examples.update 和 examples.destroy。
视图
resources/views/frontend/example/index.blade.php
resources/views/frontend/example/show.blade.php
resources/views/frontend/example/create.blade.php
resources/views/frontend/example/edit.blade.php
resources/views/frontend/example/deleted.blade.php
resources/views/frontend/example/includes/header-buttons.blade.php
如果您为您的数据表添加了更多字段,您需要编辑 show.blade.php、create.blade.php 和 edit.blade.php 以满足您的需求。
变更
- 1.4 添加了语言行文件。添加了前端文件生成选项和强制覆盖旧文件的功能。感谢 @rabol 的贡献。
- 1.3.8 修改了 README.md 关于添加 Listener 到 EventServiceProvider.php 的说明。
- 1.3.7 将事件触发添加到控制器方法中。
- 1.3.6 为创建、更新和删除操作添加了事件和监听器。
- 1.3.5 添加了 --field 选项以指定默认字段的名称。
许可证
此存储库是开源软件,许可协议为 MIT 许可证。
版权所有 © 2019 Apriandanailus
以下条件之下,任何人获取本软件及其相关文档文件(以下简称“软件”)的副本,均可免费使用、处理该软件,包括但不限于使用、复制、修改、合并、发布、分发、再许可和/或销售软件副本,并允许向软件提供副本的个人执行上述操作,前提如下
上述版权声明和本许可声明应包含在软件的所有副本或主要部分中。
本软件按“原样”提供,不提供任何形式的保证,无论是明示的还是隐含的,包括但不限于适销性、特定用途适用性和非侵权性保证。在任何情况下,作者或版权所有者均不对任何索赔、损害或其他责任负责,无论该索赔、损害或其他责任是由于合同、侵权或其他原因引起的,无论是与软件或其使用或其他交易有关还是由此产生的。
Laravel 版权所有 © 2019 Taylor Otwell