برنامههای Laravel
(Laravel Apps)اتصال به سرویس فایل
بدون شک اتصال برنامه به یک سرویس فایل مطمئن برای نگهداری دادههای آپلود شده توسط کاربران که درنهایت باعث اطمینان خاطر صاحبان کسب و کار و بهبود عملکرد برنامه میشود را باید یکی از اولویتهای مهم دانست.
فهرست عناوین:
نصب Amazon S3 Driver
سرویس فایل لیارا یک Object Storage است که ساختار آن توسط کمپانی آمازون طراحی شده و S3 نام دارد بنابراین در برنامهی Laravel خود به یک Driver برای ارتباط با سرویس فایل نیاز خواهید داشت که با اجرای دستور زیر نصب خواهد شد:
composer require --with-all-dependencies league/flysystem-aws-s3-v3 "^1.0"
پیکربندی FileSystem
در مرحلهی بعد باید یک FileSystem Driver جدید را به فایل پیکربندی مربوطه در مسیر config/filesystems.php اضافه کنید:
'cloud' => env('FILESYSTEM_CLOUD'),
'minio' => [
'driver' => 's3',
'endpoint' => env('ENDPOINT_URL'),
'use_path_style_endpoint' => true,
'key' => env('ACCESS_KEY'),
'secret' => env('SECRET_KEY'),
'region' => env('DEFAULT_REGION'),
'bucket' => env('BUCKET_NAME'),
],
تنظیم مشخصات سرویس فایل
در فایل .env پروژه
درنهایت باید متغیرهای تنظیم شده در فایل config/filesystems.php را بهمنظور امنیت و کنترل راحتتر مقادیر، در فایل .env مقدار دهی کنید:
FILESYSTEM_CLOUD=minio
ENDPOINT_URL=<Liara API Endpoint>
ACCESS_KEY=<Access Key>
SECRET_KEY=<Secret Key>
DEFAULT_REGION=us-east-1
BUCKET_NAME=<Name of you're bucket>
در لیارا
برای تنظیم مشخصات سرویس فایل در برنامهی Laravel خود باید وارد تنظیمات برنامه شده و در بخش متغیرها با کلیک کردن بر روی دکمهی افزودن متغیر، مشخصات سرویس فایل را وارد کنید.
نحوهی استفاده
میتوان گفت که تغییر خاصی در نحوهی استفادهی شما بهوجود نخواهد آمد. برای مثال شما میتوانید با استفاده از قطعه کد زیر، محتوای Contents را در فایلی با نام example.txt قرار داده و آن را در سرویس فایل خود ذخیره کنید:
use Illuminate\Support\Facades\Storage;
Storage::disk('minio')->put('example.txt', 'Contents');
متوجه شدم، برو گام بعدی!