Есть ли код, который можешь показать?

«Есть ли код, который можешь показать?» — вопрос из категории Софт-скиллы, который задают на 24% собеседований PHP Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Конечно. Вот пример из реального проекта — сервисный класс на Laravel, отвечающий за обработку загрузки файлов с валидацией и сохранением в облачное хранилище:

<?php

namespace AppServices;

use IlluminateHttpUploadedFile;
use IlluminateSupportFacadesStorage;
use IlluminateSupportStr;

class FileUploadService
{
    public function uploadUserDocument(UploadedFile $file, int $userId): string
    {
        // Валидация MIME-типа и размера
        $validated = $file->validate([
            'mimes:pdf,jpeg,png',
            'max:5120', // 5 MB
        ]);

        // Генерация уникального имени для безопасности
        $fileName = Str::uuid()->toString() . '.' . $file->extension();
        $path = "user_docs/{$userId}/{$fileName}";

        // Загрузка в S3-совместимое хранилище
        Storage::disk('s3')->put($path, file_get_contents($file->path()));

        // Возвращаем публичный URL (с подписанным URL, если нужно)
        return Storage::disk('s3')->url($path);
    }
}

Этот код демонстрирует работу с фасадами Laravel, безопасную обработку файлов и интеграцию с облачными сервисами.