اتصال به فضای ذخیرهسازی ابری در برنامههای Laravel
پروژه و کدهای مورد استفاده در ویدیوی فوق در اینجا قابل مشاهده و دسترسی هستند.
برای استفاده از Object Storage در برنامههای Laravel، میتوانید از پکیج league/flysystem-aws-s3-v3 استفاده کنید که بایستی با دستور زیر، آن را در پروژه خود، نصب کنید:
پس از آن، کافیست تا طبق مستندات ایجاد کلید، یک کلید جدید برای باکت خود بسازید. اطلاعات مربوط به ENDPOINT و نام باکت نیز در صفحه تنظیمات، در بخش دسترسی با SDK، برای شما قرار گرفته است. در نهایت نیز، بایستی اطلاعات مربوط به Object Storage خود را به متغیرهای محیطی برنامه خود، اضافه کنید؛ به عنوان مثال (در صورتی که متغیرهای زیر از قبل تعریف شده بودند، فقط آنها را مقداردهی کنید):
در ادامه، قطعه کد زیر را در config/filesystems.php بررسی کنید و در صورت عدم وجود، آن را اضافه کنید:
تمامی کارها انجام شده است و میتوانید از Object Storage در برنامه خود، استفاده کنید؛ به عنوان مثال، میتوانید با اجرای دستورات زیر، در پروژه خود، برای هر عملیات در فضای ذخیرهسازی ابری، یک کنترلر ایجاد کنید:
نمونه کد برای نمایش فایلهای یک باکت و اسامی باکتها
نمونه کد برای آپلود فایل در باکت و مشاهده لینک دائمی آن
نمونه کد برای دانلود فایل از باکت
نمونه کد برای حذف فایل از باکت
نمونه کد برای ایجاد لینک موقت برای فایلها
برای استفاده از کنترلرها، بایستی قطعه کد زیر را، به فایل web.php در مسیر routes اضافه کنید:
در نهایت، کافیست تا یک فایل Blade به نام s3-storage.blade.php در پوشه resources/views، ایجاد کنید و قطعه کد زیر را درون آن قرار دهید:
میتوانید پس از اجرای برنامه، در مسیر s3-storage/ از فضای ذخیرهسازی ابری لیارا استفاده کنید.