Laravel Packages

Onym - Flexible Filename Generator

Published
Onym - Flexible Filename Generator image

Onym is a flexible Laravel package created by the fine folks at Blaspsoft to generate filenames using various strategies and options.

Main Features

  • Flexible Filename Generation: Generate filenames dynamically using various strategies.
  • Multiple Strategies: Supports random, uuid, timestamp, date, numbered, slug, and hash.
  • Customizable Output: You can specify the filename, extension, and any additional formatting options you need.
  • Laravel-Friendly: Works seamlessly with Laravel's filesystem and configuration.
  • Human-Readable & Unique Names: Ensures filenames are structured, collision-free, and easy to understand.
  • Configurable Defaults: Define global settings in config/onym.php for consistency across your application.
  • Extensible & Developer-Friendly: Easily add custom filename strategies or modify existing ones.

Examples

You can generate filenames using Onym::make() and pass the default filename, extension, strategy, and an array of options. For example, when using the Timestamp Strategy with a prefix and suffix:

use Blaspsoft\Onym\Facades\Onym;
 
// Using timestamp with prefix and suffix
Onym::make('document', 'pdf', 'timestamp', [
'format' => 'Y-m-d_H-i-s',
'prefix' => 'letter_',
'suffix' => '_signed'
]);
// Result: "letter_2025-03-27_14-30-00_document_signed.pdf"

You can also use the strategy method directly. For example:

// You can also use the timestamp method directly
Onym::timestamp(string $defaultFilename, string $extension, ?array $options = [])

Here is an example of the Numbered Strategy:

use Blaspsoft\Onym\Facades\Onym;
 
// Adding numbers with prefix and suffix
Onym::make('invoice', 'pdf', 'numbered', [
'number' => 200,
'prefix' => 'LN_',
'suffix' => '_paid'
]);
// Result: "LN_invoice_200_paid.pdf"

Give this package a try in your next project by installing it using Composer:

composer require blaspsoft/onym

Learn more about this package and view the source code on GitHub.

Yannick Lyn Fatt photo

Staff Writer at Laravel News and Full stack web developer.

Sponsored

serpapi logo
SerpApi

The Web Search API for Your LLM and AI Applications

Visit SerpApi

The latest

View all →
Agent Run Observability in Laravel AI SDK 0.11 image

Agent Run Observability in Laravel AI SDK 0.11

Read article
Debounced Queued Event Listeners in Laravel image

Debounced Queued Event Listeners in Laravel

Read article
Statamic Mailables Viewer Previews Laravel Emails in the Control Panel image

Statamic Mailables Viewer Previews Laravel Emails in the Control Panel

Read article
Laravel Tackle: Run an AI Coding Agent in Your Laravel App image

Laravel Tackle: Run an AI Coding Agent in Your Laravel App

Read article
Queue::forward(): Reroute Laravel Queues in One Place image

Queue::forward(): Reroute Laravel Queues in One Place

Read article
Laravel Read-Through Filesystem: Lazy Storage Migration image

Laravel Read-Through Filesystem: Lazy Storage Migration

Read article