on3n3o / generators
带有配置和可发布占位符的自定义Laravel文件生成器。
Requires
- php: ^7.2.5
- laravel/framework: ^7.6
- symfony/console: ^5.0
Requires (Dev)
- orchestra/testbench: 5.*
- dev-master
- 6.06
- 6.0.5
- 6.0.4
- 6.0.3
- 6.0.2
- 6.0.1
- 5.2.3
- 5.2.2
- 5.2.1
- 5.2.0
- 5.1.1
- 5.1.0
- 5.0.3
- 5.0.2
- 5.0.1
- 5.0.0
- 4.1.9
- 4.1.8
- 4.1.7
- 4.1.6
- 4.1.5
- 4.1.4
- 4.1.3
- 4.1.2
- 4.1.1
- 4.1.0
- 4.0.9
- 4.0.8
- 4.0.7
- 4.0.6
- 4.0.5
- 4.0.4
- 4.0.3
- 4.0.2
- 4.0.1
- 4.0.0
- 3.0.3
- 3.0.2
- 3.0.1
- 3.0.0
- 2.1.3
- 2.1.2
- 2.1.1
- 2.1.0
- 2.0.1
- 2.0.0
- 1.0.3
- 1.0.2
- 1.0.1
- 1.0.0
- dev-7.0.1-modules-upgrade
This package is auto-updated.
Last update: 2024-09-19 18:28:36 UTC
README
带有配置文件和可发布占位符的自定义Laravel文件生成器。您可以发布占位符。您可以为生成添加自己的占位符。
此包正在使用Admin Starter Project,该项目专注于测试驱动开发,并为您准备好了基础。
Laravel 5.1 : v2.1.3
Laravel 5.2 - 5.3 : v3.0.3
Laravel 5.4 : v4.1.9
Laravel 5.5 - 5.8 : v5.0.0+
Laravel 6.0 : v5.1.0+
Laravel 7.0 : v6.0
Laravel 8.0 : v7.0+
命令
php artisan generate:publish-stubs php artisan generate:model php artisan generate:view php artisan generate:controller php artisan generate:migration php artisan generate:migration:pivot php artisan generate:seed php artisan generate:resource php artisan generate:repository php artisan generate:contract php artisan generate:notification php artisan generate:event php artisan generate:listener php artisan generate:event-listener php artisan generate:trait php artisan generate:job php artisan generate:console php artisan generate:middleware php artisan generate:factory php artisan generate:test php artisan generate:file php artisan generate:exception
所有命令的选项
--force
如果存在,将覆盖现有文件。
除了 views
和 migration:pivot
之外的所有命令的选项
--plain
将使用命令的 .plain 占位符(生成空控制器)
自定义
这是针对所有除 migration
和 migration:pivot
命令之外的情况
php artisan generate:file foo.bar --type=controller
php artisan generate:view foo.bar --stub=view_show --name=baz_show
php artisan generate:file foo.bar --type=controller --stub=controller_custom --name=BazzzController --plain --force
您可以指定要生成的文件的自定义名称。您可以使用 --plain 或 --force 选项。您可以覆盖要使用的默认占位符。您可以使用可用的占位符创建自己的占位符。您可以创建新的设置类型,例如
- 'exception' => ['namespace' => '\Exceptions', 'path' => './app/Exceptions/', 'postfix' => 'Exception'],
视图自定义占位符
php artisan generate:view posts
php artisan generate:view admin.posts --stub=custom
php artisan generate:view admin.posts --stub=another_file
安装
更新项目中的 composer.json
文件。
composer require bpocallaghan/generators --dev
添加服务提供者(Laravel 5.5+ 有自动发现包的功能)您只想在本地开发中使用这些生成器,请在 app/Providers/AppServiceProvider.php
中添加提供者
public function register() { if ($this->app->environment() == 'local') { $this->app->register(\Bpocallaghan\Generators\GeneratorsServiceProvider::class); } }
运行 php artisan
命令以在 generate:*
部分中查看新命令
用法
模型
php artisan generate:model bar
php artisan generate:model foo.bar --plain
php artisan generate:model bar --force
php artisan generate:model bar --migration --schema="title:string, body:text"
视图
php artisan generate:view foo
php artisan generate:view foo.bar
php artisan generate:view foo.bar --stub=view_show
php artisan generate:view foo.bar --name=foo_bar
控制器
php artisan generate:controller foo
php artisan generate:controller foo.bar
php artisan generate:controller fooBar
php artisan generate:controller bar --plain
php artisan generate:controller BarController --plain
- 如果需要,将添加
Controller
后缀。
迁移
这与Jeffrey Way的非常相似
php artisan generate:migration create_users_table
php artisan generate:migration create_users_table --plain
php artisan generate:migration create_users_table --force
php artisan generate:migration create_posts_table --schema="title:string, body:text, slug:string:unique, published_at:date"
枢纽表
这与Jeffrey Way的非常相似
php artisan generate:migration:pivot tags posts
数据库种子器
php artisan generate:seed bar
php artisan generate:seed BarTableSeeder
- 如果需要,将添加
TableSeeder
后缀。
资源
php artisan generate:resource bar
php artisan generate:resource foo.bar
php artisan generate:resource foo.bar_baz
php artisan generate:resource bar --schema="title:string, body:text, slug:string:unique, published_at:date"
php artisan generate:resource articles --controller=admin
- 这将生成 Bar 模型、BarsController、资源视图(在配置中)、create_bars_table 迁移、BarTableSeeder
- 在配置中有一个
resource_views
数组,您可以在其中指定要生成的视图,只需确保占位符存在即可。 - 这将还会询问您生成 'repository - contract pattern' 文件。
--controller=admin
允许您在生成控制器时使用 controller_admin 占位符。
存储库
php artisan generate:repository Posts
这将生成一个用于控制器的 Posts 存储库文件。
合约
php artisan generate:contract Cache
这将生成一个与您的存储库一起使用的 Cache 合约文件。
通知
php artisan generate:notification UserRegistered
这将生成一个 UserRegistered 通知。Laravel 提供了在包括邮件、SMS(通过 Nexmo)和 Slack 在内的各种交付渠道发送通知的支持。通知也可以存储在数据库中,以便在您的 Web 界面中显示。
事件和监听器
php artisan generate:event InvoiceWasPaid
php artisan generate:listener NotifyUserAboutPayment --event=InvoiceWasPaid
php artisan generate:event-listener
这将生成事件和监听器。Laravel 的事件提供了一种简单的观察者实现,允许您订阅并监听应用程序中发生的各种事件。
php artisan generate:event-listener
将生成在您的 EventServiceProvider 中定义的所有缺少的事件和监听器。
特质
php artisan generate:trait Http\Controllers\Traits\Bar
这将生成一个FooBar特性文件。命令将使用名称作为命名空间。《generate:trait Foo》将在《app/Foo.php》中创建文件,《generate:trait Foo\Bar》将在《app/Foo/Bar.php》中创建文件。
工作
php artisan generate:job SendReminderEmail
这将生成一个发送提醒电子邮件的工作文件。
控制台(Artisan命令)
php artisan generate:console SendEmails
php artisan generate:console SendEmails --command=send:emails
这将生成一个SendEmails Artisan命令文件。--command选项是可选的。
中间件
php artisan generate:middleware AuthenticateAdmin
这将生成一个AuthenticateAdmin中间件文件。
工厂
php artisan generate:factory Post
php artisan generate:factory PostFactory
这将生成一个PostFactory模型文件。
测试
php artisan generate:test UserCanLogin
php artisan generate:test Post --unit
php artisan generate:test Auth\LoginTest
这将生成Feature\UserCanLogin、Unit\PostTest和Unit\Auth\LoginTest文件。
配置
php artisan generate:publish-stubs
这将把配置文件复制到《/config/generators.php》。在这里,您可以更改每个《type》的默认设置,如模型、视图、控制器、种子。您还可以更改命名空间、创建文件的路径、前缀/后缀等。您还可以添加新的模板。
这还会把所有模板复制到《/resources/stubs/》。在这里,您可以更改当前的模板,添加自己的样板/注释到文件中。您还可以在这里添加自己的模板,并在配置中指定以供使用。《迁移模板注意》:《migration.stub》仅是外部部分,《schema_create.stub或schema_change.stub》是您修改架构本身的地方。《schema_create.stub》已添加样板。
文件
这是视图、模型、控制器、种子命令的基础命令。迁移和迁移:pivot使用Jeffrey的类。在配置中有一个《settings》数组,这是“类型”及其设置。您可以添加更多,例如,如果您使用存储库,您可以将其添加到这里。
php artisan generate:file foo.bar --type=view
php artisan generate:file foo.bar --type=controller
php artisan generate:file foo.bar --type=model
php artisan generate:file foo.bar --type=model --stub=model_custom
快捷方式
art=php artisan
model=php artisan generate:model
view=php artisan generate:view
view:index=php artisan generate:view:index
view:create_edit=php artisan generate:view:create_edit
view:show=php artisan generate:view:show
controller=php artisan generate:controller
migration=php artisan generate:migration
migration:pivot=php artisan generate:migration:pivot
seed=php artisan generate:seed
resource=php artisan generate:resource
自定义文件创建消息以支持IDE打开文件
为打开输出创建链接。将output_path_handler作为函数添加到您的config/generators.php中。示例
'output_path_handler' => static function($path){
return 'file:///' . base_path() . $path;
},
这将输出一个文件架构URI,JetBrain产品(IntelliJ、Php Storm、Web Storm等)然后可以直接从您的终端打开。
谢谢
- 感谢Taylor Ottwell为Laravel。
- 感谢Jeffrey Way在Laracasts提供的优秀资源。
我的其他包
- Notify 带图标和动画的Laravel闪存通知,带超时
- Alert 一个辅助包,通过外观或辅助函数将bootstrap警报闪存到浏览器。
- Impersonate User 这允许您以任何客户身份进行身份验证。
- Sluggable 提供一个HasSlug特性,在保存您的Laravel Eloquent模型时生成一个唯一的slug。