belca/gename

File name & name generator for Dios CMS

v1.0.1 2019-05-07 12:37 UTC

This package is auto-updated.

Last update: 2024-04-23 16:30:32 UTC


README

Generates a file name according to specified rules: file names, titles, links, paths, etc.

GeName - генератор имен

Генерирует любые имена по заданным правилам, в т.ч. имена файлов.

Библиотека предсталяет набор интерфейсов для расширения и управления генерацией имен.

Пример работы

use Belca\GeName\GeName;

$config = [ 'date' => \Belca\GeName\DateGenerator::class, 'random_string' => \Belca\GeName\RandomStringGenerator::class, ];

$gename = new GeName(); $gename->setInitialData($config);

// File name generation. Example 1

$pattern = '{directory}/{random_string}-{date}.jpg';

$directory = '/var/www/server/files/';

$gename->setPattern($pattern); $gename->setDirectory($directory, false);

$filename = $gename->generateName(); // output: '/var/www/server/files/kd2rh3fDH-2019-04-14.jpg'

// File name generation. Example 1

$pattern = '{random_string}-{date}.jpg';

$gename->setPattern($pattern); $gename->relativeFileExists(true);

$filename = $gename->generateName(); // output: 'kdOnf3fDH-2019-04-14.jpg'

// Генерация имени, например, документа

$pattern = 'document {date} - {creator}';

$params = [ 'creator' => 'Oleg Dmitrochenko', ];

$gename->setPattern($pattern); $gename->resetDirectory();

$filename = $gename->generateName(); // output: 'document 2019-04-14 - Oleg Dmitrochenko'

// Извлечение сгенерированных значений $values = $gename->getGeneratedValues();