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/