🍒

Laravel11 langコマンド/stubコマンド/vendorコマンド

2024/12/14に公開

この記事は Laravel11にあるartisanコマンドを全部調べる Advent Calendar 2024 14日目の記事です。

今回はlangコマンド/stubコマンド/vendorコマンドについて調べました。

環境

  • PHP 8.4.1
  • laravel/laravel 11.3.3
  • laravel/framework 11.33.2

lang:publish

言語ファイルを公開する。

php artisan lang:publish

実行するとlangディレクトリを作成し、言語ファイルを公開します。

advent-calendar-2024 % tree lang
lang  [error opening dir]

0 directories, 0 files
advent-calendar-2024 % php artisan lang:publish

   INFO  Language files published successfully.  

advent-calendar-2024 % tree lang               
lang
└── en
    ├── auth.php
    ├── pagination.php
    ├── passwords.php
    └── validation.php

2 directories, 4 files

公開する言語ファイルは下記にあります。

https://github.com/laravel/framework/tree/v11.33.2/src/Illuminate/Translation/lang/en

オプション 説明
--existing 公開しているファイルのみ上書きして公開
--force すべてのファイルを上書きして公開
  • --existingを付けると公開しているファイルのみ上書きします
  • --forceを付けるとすべてのファイルを上書きします

stub:publish

スタブファイルを公開する。

php artisan stub:publish

実行するとstubsディレクトリを作成し、スタブファイルを公開します。

advent-calendar-2024 % tree stubs
stubs  [error opening dir]

0 directories, 0 files
advent-calendar-2024 % php artisan stub:publish

   INFO  Stubs published successfully.  

advent-calendar-2024 % tree stubs              
stubs
├── cast.inbound.stub
├── cast.stub
├── class.invokable.stub
├── class.stub
├── console.stub
├── controller.api.stub
├── controller.invokable.stub
├── controller.model.api.stub
├── controller.model.stub

〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜
省略
〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜〜

├── resource.stub
├── rule.stub
├── scope.stub
├── seeder.stub
├── test.stub
├── test.unit.stub
├── trait.stub
└── view-component.stub

1 directory, 54 files

公開するスタブファイルは下記にあります。

https://github.com/laravel/framework/tree/v11.33.2/src/Illuminate/Foundation/Console/stubs

https://github.com/laravel/framework/tree/v11.33.2/src/Illuminate/Database/Console/Factories/stubs

https://github.com/laravel/framework/tree/v11.33.2/src/Illuminate/Database/Console/Seeds/stubs

https://github.com/laravel/framework/tree/v11.33.2/src/Illuminate/Database/Migrations/stubs

https://github.com/laravel/framework/tree/v11.33.2/src/Illuminate/Routing/Console/stubs

オプション 説明
--existing 公開しているファイルのみ上書きして公開
--force すべてのファイルを上書きして公開
  • --existingを付けると公開しているファイルのみ上書きします
  • --forceを付けるとすべてのファイルを上書きします

vendor:publish

Laravelの拡張パッケージから公開可能なアセットを公開する。

php artisan vendor:publish

実行するとサービスプロバイダクラス、タグ、またはすべてを選択できます。

選択するとサービスプロバイダクラス、タグごとで必要なファイルが公開します。

オプション 説明
--existing 公開しているファイルのみ上書きして公開
--force すべてのファイルを上書きして公開
--all すべて公開
--provider[=PROVIDER] サービスプロバイダを指定
--tag[=TAG] タグを指定
  • --existingを付けると公開しているファイルのみ上書きします
  • --forceを付けるとすべてのファイルを上書きします
  • --allを付けるとすべてのサービスプロバイダクラス、タグの必要なファイルを公開します
  • --providerでサービスプロバイダを指定してファイルを公開します
  • --tagでタグを指定してファイルを公開します
GitHubで編集を提案

Discussion