Onym — це універсальний пакет для Laravel, створений командою Blaspsoft, який дозволяє генерувати імена файлів різними способами та з різними налаштуваннями.
# Основні характеристики
- Гнучка генерація імен файлів: Динамічна генерація імен файлів за різними стратегічними підходами.
- Декілька стратегій: Підтримує
random,uuid,timestamp,date,numbered,slugтаhash. - Налаштовуваний вихід: Ви можете вказати ім'я файлу, розширення та будь-які додаткові параметри форматування.
- Сумісність з Laravel: Працює безперешкодно з файловою системою та конфігурацією Laravel.
- Легкочитаючі та унікальні назви: Забезпечує структуровані, небездоганні та зрозумілі імена файлів.
- Конфігуруємi значення за замовчуванням: Визначте глобальні налаштування у
config/onym.phpдля зручності використання в додатку. - Розширюваність та зручність для розробників: Легко додайте свої стратегії генерації або модифікуйте наявні.
# Приклади
Для генерації імен файлів використовуйте Onym::make(), передаючи ім'я файлу, розширення, стратегію та масив параметрів. Наприклад, використовуючи стратегію Timestamp з префіксом та суфіксом:
use Blaspsoft\Onym\Facades\Onym;
// Використання timestamp з префіксом та суфіксом
Onym::make('document', 'pdf', 'timestamp', [
'format' => 'Y-m-d_H-i-s',
'prefix' => 'letter_',
'suffix' => '_signed'
]);
// Результат: "letter_2025-03-27_14-30-00_document_signed.pdf"
Також ви можете використовувати метод стратегії безпосередньо. Наприклад:
// Використання методу timestamp безпосередньо
Onym::timestamp(string $defaultFilename, string $extension, ?array $options = [])
Ось приклад стратегії Numbered:
use Blaspsoft\Onym\Facades\Onym;
// Додавання номерів з префіксом та суфіксом
Onym::make('invoice', 'pdf', 'numbered', [
'number' => 200,
'prefix' => 'LN_',
'suffix' => '_paid'
]);
// Результат: "LN_invoice_200_paid.pdf"
Спробуйте цей пакет у своєму наступному проекті, встановивши його за допомогою Composer:
composer require blaspsoft/onym
Дізнайтесь більше про цей пакет та перегляньте вихідний код на GitHub.