axn / laravel-crud-generator
在 Laravel 中生成 CRUD
此包的官方仓库似乎已消失,因此该包已被冻结。
Requires
- php: ^7.4|^8.0
- illuminate/support: ^7.0 || ^8.0
Requires (Dev)
- nunomaduro/larastan: ^0.7.4
- orchestra/testbench: ^6.17
This package is auto-updated.
Last update: 2021-10-27 10:38:36 UTC
README
此包允许使用 Laravel 框架生成 CRUD 部分的文件。
安装
使用 Composer 包含此包
composer require axn/laravel-crud-generator
如果需要,请通过以下命令发布包的模板(占位符):
// stubs php artisan vendor:publish --tag=crud-generator.stubs
模板发布在 resources/stubs/vendor/crud-generator/
在此处进行所需的修改。
使用
运行以下命令:
php artisan crud:generate <section> <model> [--stubs] [--langdir] [--viewsdir] [--breadcrumbs|-b]
参数
-
section : 要创建的节点的名称。控制器、路由和请求的目录/名称/命名空间由该名称确定。
-
model : 要注入控制器的模型类名称。该类必须存在,否则会引发错误。**注意:请务必将类名用引号括起来:否则反斜杠可能会导致问题**。
选项
-
--stubs : 允许指定用于生成控制器、路由文件和请求的模板组。默认为 'default'。
-
--langdir : 允许指定用于生成翻译文件的子目录。此子目录被添加到法语(resources/lang/fr)翻译的基本路径和节点的目录结构之间。默认为 ''(空)。
-
--viewsdir : 允许指定用于生成视图文件的子目录。此子目录被添加到视图(resources/views/)的基本路径和节点的目录结构之间。默认为 ''(空)。
-
--breadcrumbs (或 -b) : 如果指定此选项,则将面包屑连接到 app/Http/breadcrumbs.php 文件的末尾
此外,还会提出问题以生成法语文本
- 节点的标题,单数形式。例如:“订单状态”。
- 节点的标题,复数形式。例如:“订单状态”。
- 标题是阴性的吗?y = 是;n = 否。默认:n。
具体使用示例
php artisan crud:generate params.commande-statuts "App\Models\CommandeStatut" --viewsdir=modules
...生成以下文件
app/
Http/
Controllers/
Params/
CommandeStatutsController.php
Requests/
Params/
CommandeStatuts/
StoreRequest.php
UpdateRequest.php
UpdateContentRequest.php
Listings/
CommandeStatutsListing.php
resources/
lang/
fr/
params/
commande-statuts.php
views/
modules/ <= viewsdir
params/
commandes-statuts/
index.blade.php
panel-list.blade.php
panel-create.blade.php
panel-edit.blade.php
form.blade.php
routes/
params/
commande-statuts.php
请注意,不要忘记包含路由文件
// app/Http/routes.php require __DIR__.'/routes/params/commande-statuts.php'; // Ou en incluant automatiquement tous les fichiers présents dans le dossier "routes" : foreach (File::allFiles(__DIR__.'/routes') as $file) { require $file->getRealPath(); }
控制器中的选项
生成的文件可以根据需要进行修改,但在控制器中($options 属性)提供了一些选项,可以快速自定义节点,而无需接触代码
- creatable : 用于在列表旁边显示创建表单并允许创建。
- editable : 用于在列表中显示修改按钮(它将引导到表单)并允许修改。
- contentEditable : 用于允许直接从列表中动态编辑记录的标签。
- activatable : 用于在列表中显示启用/禁用按钮并允许启用/禁用。
- 可销毁的 : 在列表中显示删除按钮并允许删除。
模板组
如命令选项中所述,可以创建不同的模板组,从而选择用于生成节区的模板。默认情况下(如果命令的 --stubs 选项未指定),则使用由包提供的“默认”组。模板组必须放在包的模板发布目录中。
示例
resources/
stubs/
vendor/
crud-generator/
default/ <= Groupe par défaut
params/ <= Groupe ajouté
如果一个模板在一个组中不存在,那么对应的文件将不会生成。如果只想为某个组生成控制器,这个特性很有用。