laravel-shift / blueprint
一个表达性强、易于阅读的代码生成工具。
Requires
- illuminate/console: ^10.38|^11.0
- illuminate/database: ^10.38|^11.0
- illuminate/filesystem: ^10.38|^11.0
- illuminate/support: ^10.38|^11.0
- laravel-shift/faker-registry: ^0.3.0
- symfony/yaml: >=6.2
Requires (Dev)
- laravel/pint: ^1.2
- mockery/mockery: ^1.4.4
- orchestra/testbench: ^8.0|^9.0
- phpunit/phpunit: ^10.0
Suggests
- jasonmccreary/laravel-test-assertions: Required to use additional assertions in generated tests (^1.0).
- dev-master
- v2.10.0
- v2.9.0
- v2.8.1
- v2.8.0
- v2.7.0
- v2.6.1
- v2.6.0
- v2.5.0
- v2.4.0
- v2.3.0
- v2.2.0
- v2.1.0
- v2.0.0
- v1.25.0
- v1.24.2
- v1.24.1
- v1.24.0
- v1.23.3
- v1.23.2
- v1.23.1
- v1.23.0
- v1.22.0
- v1.21.0
- v1.20.2
- v1.20.1
- v1.20.0
- v1.19.2
- v1.19.1
- v1.19.0
- v1.18.0
- v1.17.0
- v1.16.0
- v1.15.3
- v1.15.2
- v1.15.1
- v1.15.0
- v1.14.0
- v1.13.2
- v1.13.1
- v1.13.0
- v1.12.0
- v1.11.2
- v1.11.1
- v1.11.0
- v1.10.1
- v1.10.0
- v1.9.1
- v1.9.0
- v1.8.0
- v1.7.1
- v1.7.0
- v1.6.0
- v1.5.1
- v1.5.0
- v1.4.1
- v1.4.0
- v1.3.1
- v1.3.0
- v1.2.2
- v1.2.1
- v1.2.0
- v1.1.1
- 1.1.0
- 1.0.1
- 1.0.0
- 0.5.1
- 0.5.0
- 0.4.0
- 0.3.0
- 0.2.1
- 0.2.0
- 0.1
This package is auto-updated.
Last update: 2024-08-26 18:31:57 UTC
README
Blueprint是一个开源工具,可以从一个单一的、易于阅读的定义中快速生成多个Laravel组件。
观看Blueprint的快速演示,或继续阅读以开始使用。
要求
Blueprint需要运行最新稳定版本的Laravel应用程序,目前是Laravel 10.x。
安装
您可以使用以下命令通过Composer安装Blueprint:
composer require -W --dev laravel-shift/blueprint
Blueprint将自动使用包发现注册自身。
如果您想运行Blueprint生成的测试,还应安装Additional Assertions包
composer require --dev jasonmccreary/laravel-test-assertions
基本用法
Blueprint附带一套Artisan命令。您将使用blueprint:build
命令来生成Laravel组件。
php artisan blueprint:build [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: posts.index
从这20行YAML中,Blueprint将生成以下所有Laravel组件:
- 为
Post
生成的完整模型类,包括fillable
、casts
和dates
属性,以及关系方法。 - 创建
posts
表的迁移。 - 一个智能设置列的factory,使用假数据。
- 为
PostController
生成的控制器类,包含index
和store
动作,并为每个语句生成代码。 - 为
PostController
动作的路由。 - 基于
Post
模型定义的表单请求为StorePostRequest
进行验证。 - 为
ReviewPost
生成的mailable类,通过构造函数设置post
属性。 - 为
SyncMedia
生成的job类,通过构造函数设置post
属性。 - 为
NewPost
生成的event类,通过构造函数设置post
属性。 - 由
PostController@index
渲染的Blade模板为post/index.blade.php
。 - 针对
PostController
的HTTP测试。 - 针对
StorePostRequest
表单请求的单元测试。
注意:此示例假设默认Laravel应用程序中的功能,例如User
模型和app.blade.php
布局。否则,生成的测试可能失败。
文档
浏览Blueprint文档,了解有关定义模型、定义控制器、高级配置和扩展Blueprint的完整细节。
支持策略
从版本 2 开始,Blueprint 只为最新的稳定版本的 Laravel 生成代码(目前是 Laravel 10)。如果您需要支持旧版本的 Laravel,可以使用版本 1 或升级您的应用程序(尝试使用 Shift)。
Blueprint 仍然遵循 语义化版本控制。然而,它是基于其语法的。对语法的任何更改都将增加其主要版本号。否则,次要版本号的增加将包含新功能。这包括为 Laravel 的未来版本生成代码。