質問: configODF::OUTPUT_DIR . "/" . $this->originalFile["filename"] . ".pdf" ; ~~~ ``` のように指定して、 外部のconfigファイルからパスを取得しています。 これは、ストレージのパスは常に同じ箇所を見てパスを 指定したほうが保守が容易であると考えたからです。 この際configファイルにて Laravelのヘルパ関数(storage_path())で指定した ストレージパスを変数に格納し、constで変数を指定しようとしたところ、 constは定数の指定のため ”Constant expression contains invalid operations” とエラーになってしまいます。 どのようにパスを変数に格納するのが最適でしょうか? 現在のconfigファイル ```
回答: 一箇所に設定をまとめるのは保守のために良い考えだと思います。 今回の場合は、config/filesystems.phpに新しいdiskの設定を追加し、Laravelのファイルストレージ機能のルートパスとして管理するのが良いと思います。 参考: Laravel 5.6 ファイルストレージ 設定例 #### config/filesystems.php ``` // 略 'disks' => [ 'upload' => [ 'driver' => 'local', 'root' => storage_path('app/public/tmp'), ], ], // 略 ``` #### 利用方法 ``` // Facadeなどを利用して相対パスでファイルを保存 $relativePath = $this->originalFile["filename"] . ".pdf"; \Storage::disk('upload')->put($relativePath, $fileContent); ```