Просте управління медіа з пакетом Artifact для Laravel

0
Перекладено ШІ
Оригінал: Laravel News
Оновлено: 10 грудня, 2025
Laravel Artifact — це легкий пакет для ефективного управління медіа у Laravel. Дізнайтеся, як спростити завантаження та зберігання файлів, реалізуючи зручні взаємозв'язки між моделями. Чи готові ви підняти своє програмування на новий рівень? Читайте далі

Laravel Artifact — це легкий пакет для простого управління медіа у Laravel. Він спрощує завантаження файлів, їхнє зберігання та отримання, а також підтримує публічні/приватні диски та підписані URL-адреси.

use LaravelJutsu\Artifact\Concerns\HasArtifacts;
use Illuminate\Database\Eloquent\Model;

class User extends Model
{
   use HasArtifacts;

   // Відношення до одного файлу
   public function avatar()
   {
      return $this->singleArtifact('avatar');
   }

   // Відношення до кількох файлів
   public function documents()
   {
      return $this->manyArtifacts('documents');
   }
}

Після визначення відносин у вашій моделі завантаження та доступ до файлів стає простим завдяки API пакету. Незалежно від того, чи потрібно зберігати кілька файлів одночасно, чи тільки один, пакет пропонує зручне рішення:

// Зберегти одиночний файл (один до одного)
$artifact = $user->avatar()->store($file);

// Зберегти кілька файлів (один до багатьох)
$artifacts = $user->documents()->store(request()->file('documents'));

// Вказати диск зберігання
$artifact = $user->avatar()->store($file); // Використовує диск за замовчуванням
$artifacts = $user->documents()->store($files, 'public');

// Доступ
$avatar = $user->avatar;
$avatar->rawUrl();
$avatar->streamUrl();
$avatar->signedUrl();
$avatar->temporarySignedUrl(60);

# Основні можливості

🧑‍💻 Ви можете розпочати роботу з цим пакетом на GitHub: ludoguenet/laravel-artifact