mjczz / blueprint_ex
一个表达性、易于阅读的代码生成工具,由laravel-shift/blueprint修改
此软件包的官方仓库似乎已丢失,因此软件包已被冻结
v1.12
2020-08-04 05:16 UTC
Requires
- doctrine/dbal: ^2.9
- illuminate/console: ^6.0|^7.0
- illuminate/filesystem: ^6.0|^7.0
- illuminate/support: ^6.0|^7.0
- symfony/yaml: ^4.3|^5.0
Requires (Dev)
- mockery/mockery: ^1.3
- orchestra/testbench: ^4.0|^5.0
- phpunit/phpunit: ^8.0|^9.0
Suggests
- jasonmccreary/laravel-test-assertions: Required to use additional assertions in generated tests (^1.0).
This package is auto-updated.
Last update: 2023-03-29 21:16:17 UTC
README
此软件包是从laravel-shift/blueprint复制的,我进行了一些修改,哈哈哈
需求
Blueprint需要运行6.0或更高版本的Laravel应用程序。
安装
您可以使用以下命令通过composer安装Blueprint:
composer require --dev mjczz/blueprint_ex
Blueprint将自动通过包发现注册自身。
基本用法
Blueprint附带一组artisan命令。您最常用的命令是用于生成Laravel组件的blueprint:build
命令。
php artisan blueprint:build [draft]
draft文件包含要生成的组件的定义。
让我们查看以下示例draft文件,用于生成一些blog组件:
models: Post: title: string:400 content: longtext published_at: nullable timestamp author_id: id:user controllers: Post: index: query: all render: post.index with:posts store: validate: title, content, author_id save: post send: ReviewPost to:post.author.email with:post dispatch: SyncMedia with:post fire: NewPost with:post flash: post.title redirect: post.index
从这20行简单的YAML中,Blueprint将生成以下所有Laravel组件:
- 一个完整的model类
Post
,包括fillable
、casts
和dates
属性,以及关系方法。 - 创建
posts
表的迁移。 - 一个智能设置列的factory,使用假数据。
- 一个
PostController
的控制器类,具有index
和store
动作,以及为每个语句生成的代码。 PostController
动作的路由。- 一个基于
Post
模型定义的title
和content
验证的form requestStorePostRequest
。 - 一个完整的mailable类
ReviewPost
,通过构造函数设置post
属性。 - 一个完整的job类
SyncMedia
,通过构造函数设置post
属性。 - 一个完整的event类
NewPost
,通过构造函数设置post
属性。 - 由
PostController@index
渲染的Blade模板post/index.blade.php
。
注意:此示例假设默认Laravel应用程序中的功能,如User
模型和`app.blade.php`布局。否则,生成的测试可能会失败。
文档
请浏览Blueprint文档以获取关于定义模型、定义控制器、高级配置和扩展Blueprint的完整详情。