grosv / stubby
我是如何在Laravel中创建新事物的
Requires
- php: ^7.4|^8.0
- illuminate/support: >7.0
- titasgailius/terminal: ^1.0
Requires (Dev)
- orchestra/testbench: ^5.0
README
工匠制作事物的配方
我对重复过敏。我注意到自己整天都在重复做同样的事情,这实际上给我带来了身体上的痛苦。所以有时我会花一天时间来改进我的工作方式。这个软件包创建的工作流程为我节省了无数小时的无意义打字和点击。
例如,与其分三步创建控制器、blade模板和功能测试,我只需运行一个命令:php artisan new controller MyController
。它创建我需要的三个文件,并在我打开PHPStorm时打开它们。作为额外的奖励,它还会在PHPStorm中打开routes/web.php文件,这样我可以轻松添加新的路由。
Stubby是一个包含我自定义占位符和快速创建新内容的菜谱的包。它绝不是为每位开发者提供完整解决方案。它涵盖了我在创建中最频繁使用的内容,并以对我非常有效的方式进行操作。这个非常容易定制的包主要通过运行多个现有命令的序列来执行事情,所需时间仅为正常时间的几分之一。
安装
composer require grosv/stubby --dev
如果你喜欢我的菜谱和自定义占位符,那么你可以直接跳到“如何使用”部分。否则,你需要这个
定制化
定制这个软件包的方法是进行分叉。然后你可以在composer.json文件中添加一个存储库,以将你的分叉加载到你的项目中,如下所示
"repositories": [ { "type": "git", "url": "https://github.com/{your_github_username}/stubby" } ]
一旦你做到了这一点,克隆你的分叉存储库,并为你自己让它变得更好。你可以使用的定制选项包括菜谱(在src/StubbyCommand.php中)和占位符(在stubs/中)。
如何使用
假设你没有对我的菜谱或占位符进行任何修改,首先发布占位符。其中一些会覆盖由Laravel和其他流行包提供的占位符。一些是我自己创建的。此命令将强制覆盖你的Laravel应用程序(stubs/文件夹中的占位符)中已存在的任何文件,并用此包stubs/folder中的内容替换。
php artisan vendor:publish --provider="Grosv\Stubby\StubbyProvider" --tag="stubs" --force
如果你像我一样,希望在创建文件后立即打开它们。为此,请在.env中设置一个与你的IDE使用的打开文件命令相对应的值。这是针对我的PHPStorm设置的
STUBBY_FILE_OPEN_COMMAND=pstorm
如果你想快速完成,只需运行php artisan new ide {file_open_command}
(例如,php artisan new ide pstorm
用于PHPStorm或php artisan new ide sublime
用于Sublime Text),我将会为你将其追加到.env文件中。
然后你可以通过运行以下命令来创建内容
php artisan new {thing} {name}
增强功能
我是支持别名的。我创建了此别名,使我的开发时间变得更加愉快。
alias new="php artisan new "
这意味着,例如,我可以输入new model Order
,在瞬间获得database/migrations/xxxx_xx_xx_xxxxxx_create_orders_table.php
、database/factories/OrderFactory.php
和app/Order.php
,所有三个都会自动在我的IDE中打开。