Laravel 10.x以降のartisanの「stub:publish」コマンドを解説します。
Description
カスタマイズ可能なすべてのスタブ1をstubsディレクトリに出力します。
LaravelではArtisanコマンドを通じてコードの雛形(stub)を自由にカスタマイズできます。詳しくは Laravel公式ドキュメント (日本語版)も参照してください。
- artisanコマンドで作成されるファイルのテンプレート ↩︎
Usage
php artisan stub:publish [--existing] [--force]
Arguments
オプションはありません。
Options
オプション | 省略形 | 必須 | 説明 |
---|---|---|---|
existing | – | – | stubs/以下にあるファイルのみ上書き出力 |
force | – | – | 既存のファイルを上書き |
Example
no options
php artisan stub:publish
INFO Stubs published successfully.
$ ls stubs/
cast.inbound.stub controller.nested.api.stub enum.stub mail.stub notification.stub resource-collection.stub
cast.stub controller.nested.singleton.api.stub event.stub markdown-mail.stub observer.plain.stub resource.stub
class.invokable.stub controller.nested.singleton.stub factory.stub markdown-notification.stub observer.stub rule.stub
class.stub controller.nested.stub job.queued.stub middleware.stub pest.stub scope.stub
console.stub controller.plain.stub job.stub migration.create.stub pest.unit.stub seeder.stub
controller.api.stub controller.singleton.api.stub listener.queued.stub migration.stub policy.plain.stub test.stub
controller.invokable.stub controller.singleton.stub listener.stub migration.update.stub policy.stub test.unit.stub
controller.model.api.stub controller.stub listener.typed.queued.stub model.pivot.stub provider.stub trait.stub
controller.model.stub enum.backed.stub listener.typed.stub model.stub request.stub view-component.stub
existing
既にstubs以下にあるファイルのみをLaravelデフォルトのもので上書きします。
php artisan stub:publish --existing
INFO Stubs published successfully.
$ ls stubs/
test.stub
$ cat stubs/test.stub åå
HOGE
$ php artisan stub:publish --existing
INFO Stubs published successfully.
$ ls stubs
test.stub
$ cat stubs/test.stub
<?php
namespace {{ namespace }};
use Illuminate\Foundation\Testing\RefreshDatabase;
use Illuminate\Foundation\Testing\WithFaker;
use Tests\TestCase;
class {{ class }} extends TestCase
{
/**
* A basic feature test example.
*/
public function test_example(): void
{
$response = $this->get('/');
$response->assertStatus(200);
}
}
コメント