ارائه دهنده خدمات ابری PaaS و DBaaS

laravel

برنامه‌های 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 خود باید وارد تنظیمات برنامه شده و در بخش متغیرها با کلیک کردن بر روی دکمه‌ی افزودن متغیر، مشخصات سرویس فایل را وارد کنید.

توجه داشته باشید که فایل .env پروژه‌ی لوکال شما بر روی برنامه‌ی تهیه شده مستقر نخواهد شد.

نحوه‌ی استفاده

می‌توان گفت که تغییر خاصی در نحوه‌ی استفاده‌ی شما به‌وجود نخواهد آمد. برای مثال شما می‌توانید با استفاده از قطعه کد زیر، محتوای Contents را در فایلی با نام example.txt قرار داده و آن را در سرویس فایل خود ذخیره کنید:

use Illuminate\Support\Facades\Storage;

Storage::disk('minio')->put('example.txt', 'Contents');
متوجه شدم، برو گام بعدی!