Laravel 6でビューからストレージにアクセスする方法


  1. ビューコンポーザを使用する方法: ビューコンポーザを使用すると、ビューの表示前に特定のデータをビューに渡すことができます。これを利用して、ストレージから必要なデータを取得し、ビューに渡すことができます。以下は、ビューコンポーザを使用した例です。
// app/Http/ViewComposers/StorageComposer.php
namespace App\Http\ViewComposers;
use Illuminate\Contracts\View\View;
use Illuminate\Support\Facades\Storage;
class StorageComposer
{
    public function compose(View $view)
    {
        $data = Storage::get('file.txt');
        $view->with('storageData', $data);
    }
}
// app/Providers/AppServiceProvider.php
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use App\Http\ViewComposers\StorageComposer;
class AppServiceProvider extends ServiceProvider
{
    public function boot()
    {
        view()->composer('your.view', StorageComposer::class);
    }
}
  1. コントローラを介してビューにデータを渡す方法: コントローラを使用して、ストレージからデータを取得し、それをビューに渡すこともできます。以下は、コントローラを使用した例です。
// app/Http/Controllers/YourController.php
namespace App\Http\Controllers;
use Illuminate\Support\Facades\Storage;
class YourController extends Controller
{
    public function show()
    {
        $data = Storage::get('file.txt');
        return view('your.view', ['storageData' => $data]);
    }
}
  1. 直接ビューからストレージにアクセスする方法: ビューファイル内で直接ストレージにアクセスすることも可能です。以下は、ビューファイルでストレージからデータを読み込む例です。
// your/view.blade.php
@php
    $data = Storage::get('file.txt');
@endphp
<!-- ビュー内でデータを使用する -->
{{$data}}

以上がLaravel 6でビューからストレージにアクセスする方法のいくつかの例です。これらの方法を使用することで、ビューからストレージに簡単にアクセスすることができます。