mayconbordin / laragen
Laravel 5 数据库生成器/脚手架。
Requires
- php: >=5.4.0
- doctrine/dbal: ~2.5
- illuminate/config: ~5.0|~5.1
- illuminate/console: ~5.0|~5.1
- illuminate/database: ~5.0|~5.1
- illuminate/filesystem: ~5.0|~5.1
- illuminate/http: ~5.0|~5.1
- illuminate/pagination: ~5.0|~5.1
- illuminate/support: ~5.0|~5.1
- illuminate/validation: ~5.0|~5.1
Requires (Dev)
- mockery/mockery: ~0.9.4
- phpunit/phpunit: ~4.0
This package is not auto-updated.
Last update: 2024-09-14 18:47:26 UTC
README
Laragen 是一个用于 Laravel 5 的代码生成工具。
此工具可以生成以下组件:
- 迁移文件(+枢轴迁移)
- 模型
- 仓库
- 控制器
- 数据库 Seeder
- 视图(CRUD + 表单)
- 表单请求
- 语言资源
它还可以一次性生成所有组件,您还可以从数据库模式生成您的组件。
文档
安装
为了安装 Laragen,只需将其添加到您的 composer.json 中。
"mayconbordin/laragen": "dev-master"
然后运行 composer install 或 composer update。
然后在您的 config/app.php 中添加
'Mayconbordin\Laragen\GeneratorServiceProvider'
到 providers 数组中。
配置
要发布此包的配置,请执行 php artisan vendor:publish,然后在您的 app/config 目录中创建一个 generator.php 文件。
配置文件包含每种类型组件的默认路径,即生成的组件将保存的位置,以及用于某些组件(例如模型和控制台)的命名空间。
生成器命令
迁移
php artisan generate:migration [options] [<name>]
迁移生成器可以通过两种方式创建迁移:通过提供迁移的 name(可选地提供 fields 选项)或通过使用数据库连接为所有表(或部分表)生成迁移。
迁移名称
根据迁移名称中使用的关键字,将使用不同的模板来生成迁移。从迁移名称中,生成器还会推导出表的名称。
create或make(create_users_table):创建新表的迁移。add、append、update或insert(add_user_id_to_posts_table):向现有表添加新列。remove或delete(remove_user_id_from_posts_table):从表中删除现有列。destroy或drop(drop_users_table):删除现有表。
选项
--fields[=FIELDS]:迁移的字段,用逗号(,)分隔。--action:动作名称:create、create_simple、add、delete 或 drop。覆盖从迁移名称解析出的动作。-c, --connection:要使用的数据库连接。默认:配置中的database.default。-t, --tables[=TABLES]:您希望为其生成迁移的表的列表,用逗号分隔:users,posts,comments。-i, --ignore[=IGNORE]:您希望忽略的表的列表,用逗号分隔:users,posts,comments。--default-index-names:如果提供,则迁移不会使用数据库中的索引名称。--default-fk-names:如果提供,则迁移不会使用数据库中的外键名称。
字段语法
迁移的字段声明为一个逗号分隔的键:值:选项对列表,其中 key 是字段名称,value 是 列类型,option 可以描述列修饰符,例如 nullable、unique 和 unsigned。示例
--fields="username:string:unique, email:string:unique"字段="age:整数, yob:日期"字段="name:字符串:默认('John Doe'), bio:文本:可空"字段="username:字符串(30):唯一, age:整数:可空:默认(18)"字段="username:字符串, user_type_id:整数:无符号:可空:外键"
示例
创建一个posts表
php artisan generate:migration create_posts_table --fields="title:string, body:text"
删除posts表
php artisan generate:migration drop_posts_table
仅删除body列
php artisan generate:migration remove_body_from_posts_table --fields="body:text"
为mysql数据库连接中所有表创建迁移
php artisan generate:migration --connection=mysql
交叉表迁移
php artisan generate:pivot [options] <table_one> <table_two>
选项
-t, --timestamp: 向迁移模式添加时间戳。
模型
php artisan generate:model [options] <name>
选项
--fields[=FIELDS]: 模型的字段,用逗号(,)分隔。语法与迁移相同,可以用来生成验证规则。--fillable: 用逗号分隔的字段名称列表,这些字段是可填充的。--table-name: 如果表名与模型名不同。
仓库
php artisan generate:repository [options] <name>
基于reloquent创建一个新的存储库,它所表示的模型将从名称中推断出来(例如,UserRepository将引用User模型)。
控制器
php artisan generate:controller [options] <name>
使用给定的<name>创建一个新的控制器(例如,UserController)。默认情况下,创建的控制器没有方法,更多选项请参阅下面。
选项
-r, --resource: 将生成资源控制器,即带有CRUD方法(方法没有逻辑)。-s, --scaffold: 将生成脚手架控制器,即带有CRUD方法和逻辑。--repository: 与脚手架控制器相同,但使用存储库而不是Eloquent模型进行数据处理。
数据库 Seeder
php artisan generate:seed [options] <name>
选项
-m, --master: 将生成主数据库种子。
视图
php artisan generate:view [options] <name>
使用名称<name>创建一个新的视图文件。
选项
-e, --extends: 正在使用视图布局的名称。默认:layouts.master。-s, --section: 正在使用的节名称。默认:content。-c, --content: 视图内容。-t, --template: 视图模板的路径。提供它以使用自定义模板。-m, --master: 创建主视图。-p, --plain: 创建空白视图。
表单请求
php artisan generate:request [options] <name>
选项
-r, --rules: 验证规则的列表。示例:name:string|max(255)|required, age:integer|required, email:unique(users;email_address)|required。--fields[=FIELDS]: 创建规则的字段。用逗号(,)分隔。-s, --scaffold: 确定是否使用脚手架生成的请求类。-a, --auth: 确定请求类是否需要授权。
语言资源
php artisan generate:lang [options] <name>
使用给定的<name>创建一个新的语言资源。
选项
-l, --languages: 资源中将创建的语言列表(用逗号分隔)。默认:en。-t, --translations: 要包含在资源文件中的翻译列表。示例:"test1='test one', test2='teste two'。
脚手架
php artisan generate:scaffold [options] <name>
为给定的<name>实体创建所有上述组件。
选项
--fields[=FIELDS]: 实体的字段,用逗号(,)分隔。--prefix: 视图路径、路由和控制器类的前缀。-c, --connection:要使用的数据库连接。默认:配置中的database.default。-t, --tables[=TABLES]:您希望为其生成迁移的表的列表,用逗号分隔:users,posts,comments。-i, --ignore[=IGNORE]:您希望忽略的表的列表,用逗号分隔:users,posts,comments。--default-index-names:如果提供,则迁移不会使用数据库中的索引名称。--default-fk-names:如果提供,则迁移不会使用数据库中的外键名称。-l, --languages: 资源中将创建的语言列表(用逗号分隔)。默认:en。--no-question: 不提出任何问题。--repository: 生成存储库类和使用存储库的控制器。