それマグで!

知識はカップより、マグでゆっくり頂きます。 takuya_1stのブログ

習慣に早くから配慮した者は、 おそらく人生の実りも大きい。

Laravelで ストレージ設定を一時的(Stroage on the fly)に作って、テスト用に使う。

Laravelで ストレージ設定を一時的に作って、テスト用に使う。

テストのためだけに、config を記入して汚すのも憚られるので、その場で使い捨てのストレージ設定(on-the-fly/Ephemeral)のストレージ設定を作って使う。

使い捨てのStorage定義して終わったら捨てたい。

<?php
$path = 'path/to/temp';
File::makeDirectory(storage_path( $path ),0777,true,true);
$this->s = Storage::build( [
  'driver'     => 'local',
  'root'       => storage_path( $path ),
  'visibility' => 'private',
  'throw'      => false,
] ) ;
/// なにかする。
//
// 終わったら消す。
File::deleteDirectory(storage_path( $this->path ),false);

?>

ポイント Storage::build

Storage::build の関数を使うのがポイントです。

Storage::build()

ファイルを作ったり消したりするプログラミングをしていると、テスト環境が欲しくなるけど、config にかいてテスト全部で共通化すると不便なので、使い捨て

参考資料

https://laravel-code.tips/you-can-create-storage-disks-on-the-fly/