Tools
in package
Una clase con funciones útiles para el desarrollo de FacturaScripts.
Table of Contents
- ASCII = ['Š' => 'S', 'š' => 's', 'Đ' => 'Dj', 'đ' => 'dj', 'Ž' => 'Z', 'ž' => 'z', 'Č' => 'C', 'č' => 'c', 'Ć' => 'C', 'ć' => 'c', 'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'A', 'Ç' => 'C', 'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ø' => 'O', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U', 'Ý' => 'Y', 'Þ' => 'B', 'ß' => 'Ss', 'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'a', 'ç' => 'c', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ð' => 'o', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'ü' => 'u', 'û' => 'u', 'ý' => 'y', 'þ' => 'b', 'ÿ' => 'y', 'Ŕ' => 'R', 'ŕ' => 'r']
- DATE_STYLE = 'd-m-Y'
- DATETIME_STYLE = 'd-m-Y H:i:s'
- HOUR_STYLE = 'H:i:s'
- HTML_CHARS = ['<', '>', '"', "'"]
- HTML_REPLACEMENTS = ['<', '>', '"', ''']
- $settings : array<string|int, mixed>
- ascii() : string
- Convierte los caracteres especiales de una cadena en sus equivalentes ASCII.
- bytes() : string
- Convierte un tamaño en bytes a una representación legible con unidades apropiadas.
- config() : mixed
- Obtiene el valor de la configuración basada en una clave dada.
- date() : string
- Formatea una fecha según el estilo de fecha definido en la clase.
- dateOperation() : string
- Realiza una operación sobre una fecha y devuelve el resultado formateado.
- dateTime() : string
- Formatea una fecha y hora según el estilo de fecha y hora definido en la clase.
- dateTimeOperation() : string
- Realiza una operación sobre una fecha y hora, y devuelve el resultado formateado.
- fixHtml() : string|null
- Corrige el texto HTML reemplazando secuencias específicas de HTML por sus caracteres correspondientes.
- folder() : string
- Construye una ruta de carpeta a partir de los nombres de carpetas proporcionados.
- folderCheckOrCreate() : bool
- Verifica si una carpeta existe y, si no existe, la crea.
- folderCopy() : bool
- Copia el contenido de una carpeta a otra, incluyendo subcarpetas y archivos.
- folderDelete() : bool
- Elimina una carpeta y su contenido recursivamente.
- folderScan() : array<string|int, mixed>
- Escanea el contenido de una carpeta y opcionalmente sus subcarpetas, excluyendo archivos y carpetas especificados.
- folderSize() : int
- Calcula el tamaño total de una carpeta y su contenido, excluyendo archivos y carpetas especificados.
- hour() : string
- Obtiene la hora actual o la hora de una fecha específica en formato determinado.
- lang() : Translator
- Crea una instancia de `Translator` para gestionar la traducción en el idioma especificado.
- log() : MiniLog
- Crea una instancia de `MiniLog` para registrar mensajes, con soporte para traducción.
- money() : string
- Formatea un número como una cadena de texto representando una cantidad de dinero con un símbolo de moneda.
- noHtml() : string|null
- Elimina los caracteres HTML de un texto reemplazándolos con sus correspondientes entidades HTML.
- number() : string
- Formatea un número a una cadena con la configuración de decimales y separadores especificados.
- password() : string
- Genera una cadena aleatoria para usar como contraseña.
- randomString() : string
- Genera una cadena de caracteres aleatorios de una longitud especificada.
- settings() : mixed
- Obtiene el valor de una configuración específica de un grupo, con un valor predeterminado si no está definido.
- settingsClear() : void
- Limpia la configuración almacenada y borra el caché de configuración.
- settingsSave() : bool
- Guarda la configuración actual en la base de datos.
- settingsSet() : void
- Establece un valor en la configuración de un grupo específico.
- siteUrl() : string
- Obtiene la URL base del sitio web.
- slug() : string
- Convierte un texto en un slug amigable para URLs.
- textBreak() : string
- Corta un texto a una longitud específica y añade un marcador de truncamiento si es necesario.
- timeToDate() : string
- Convierte un timestamp Unix en una cadena de fecha.
- timeToDateTime() : string
- Convierte un timestamp Unix en una cadena de fecha y hora.
- settingsLoad() : void
Constants
ASCII
public
mixed
ASCII
= ['Š' => 'S', 'š' => 's', 'Đ' => 'Dj', 'đ' => 'dj', 'Ž' => 'Z', 'ž' => 'z', 'Č' => 'C', 'č' => 'c', 'Ć' => 'C', 'ć' => 'c', 'À' => 'A', 'Á' => 'A', 'Â' => 'A', 'Ã' => 'A', 'Ä' => 'A', 'Å' => 'A', 'Æ' => 'A', 'Ç' => 'C', 'È' => 'E', 'É' => 'E', 'Ê' => 'E', 'Ë' => 'E', 'Ì' => 'I', 'Í' => 'I', 'Î' => 'I', 'Ï' => 'I', 'Ñ' => 'N', 'Ò' => 'O', 'Ó' => 'O', 'Ô' => 'O', 'Õ' => 'O', 'Ö' => 'O', 'Ø' => 'O', 'Ù' => 'U', 'Ú' => 'U', 'Û' => 'U', 'Ü' => 'U', 'Ý' => 'Y', 'Þ' => 'B', 'ß' => 'Ss', 'à' => 'a', 'á' => 'a', 'â' => 'a', 'ã' => 'a', 'ä' => 'a', 'å' => 'a', 'æ' => 'a', 'ç' => 'c', 'è' => 'e', 'é' => 'e', 'ê' => 'e', 'ë' => 'e', 'ì' => 'i', 'í' => 'i', 'î' => 'i', 'ï' => 'i', 'ð' => 'o', 'ñ' => 'n', 'ò' => 'o', 'ó' => 'o', 'ô' => 'o', 'õ' => 'o', 'ö' => 'o', 'ø' => 'o', 'ù' => 'u', 'ú' => 'u', 'ü' => 'u', 'û' => 'u', 'ý' => 'y', 'þ' => 'b', 'ÿ' => 'y', 'Ŕ' => 'R', 'ŕ' => 'r']
DATE_STYLE
public
mixed
DATE_STYLE
= 'd-m-Y'
DATETIME_STYLE
public
mixed
DATETIME_STYLE
= 'd-m-Y H:i:s'
HOUR_STYLE
public
mixed
HOUR_STYLE
= 'H:i:s'
HTML_CHARS
public
mixed
HTML_CHARS
= ['<', '>', '"', "'"]
HTML_REPLACEMENTS
public
mixed
HTML_REPLACEMENTS
= ['<', '>', '"', ''']
Properties
$settings
private
static array<string|int, mixed>
$settings
Methods
ascii()
Convierte los caracteres especiales de una cadena en sus equivalentes ASCII.
public
static ascii(string $text) : string
Parameters
- $text : string
-
La cadena de texto que se desea convertir.
Return values
string —La cadena de texto con los caracteres especiales convertidos a ASCII.
bytes()
Convierte un tamaño en bytes a una representación legible con unidades apropiadas.
public
static bytes(int|float $size[, int $decimals = 2 ]) : string
Esta función toma un tamaño en bytes y lo convierte en una cadena legible, utilizando las unidades GB, MB, KB o bytes, dependiendo del tamaño. También permite especificar el número de decimales a mostrar en la salida.
Parameters
- $size : int|float
-
El tamaño en bytes que se desea convertir.
- $decimals : int = 2
-
El número de decimales a mostrar (por defecto es 2).
Return values
string —Una cadena que representa el tamaño en la unidad más adecuada (GB, MB, KB o bytes).
config()
Obtiene el valor de la configuración basada en una clave dada.
public
static config(string $key[, mixed $default = null ]) : mixed
Normalmente estas contantes se definen en el config.php
Esta función busca una constante de configuración que coincida con una clave específica en tres posibles formas: la clave tal cual, la clave en mayúsculas, y la clave en mayúsculas precedida por 'FS_'. Si alguna de estas constantes está definida, retorna su valor. De lo contrario, retorna un valor por defecto.
Parameters
- $key : string
-
La clave de la configuración que se desea obtener.
- $default : mixed = null
-
El valor por defecto que se retornará si no se encuentra ninguna constante (por defecto es null).
Return values
mixed —El valor de la constante encontrada, o el valor por defecto si no se encuentra ninguna.
date()
Formatea una fecha según el estilo de fecha definido en la clase.
public
static date([string|null $date = null ]) : string
Esta función devuelve una fecha formateada de acuerdo con el formato
de fecha predefinido (self::DATE_STYLE
). Si no se proporciona una
fecha, se utiliza la fecha y hora actual.
Parameters
- $date : string|null = null
-
La fecha a formatear en formato de cadena (opcional). Si es null o está vacía, se usa la fecha actual.
Return values
string —La fecha formateada según el estilo definido.
dateOperation()
Realiza una operación sobre una fecha y devuelve el resultado formateado.
public
static dateOperation(string $date, string $operation) : string
Esta función toma una fecha y una operación (como "+1 day", "-2 months", etc.),
aplica la operación a la fecha dada, y devuelve la nueva fecha formateada
según el estilo de fecha definido (self::DATE_STYLE
).
Parameters
- $date : string
-
La fecha inicial en formato de cadena.
- $operation : string
-
La operación a realizar sobre la fecha (ej. "+1 day", "-2 weeks").
Return values
string —La fecha resultante después de aplicar la operación, formateada según el estilo definido.
dateTime()
Formatea una fecha y hora según el estilo de fecha y hora definido en la clase.
public
static dateTime([string|null $date = null ]) : string
Esta función devuelve una fecha y hora formateada de acuerdo con el formato
predefinido (self::DATETIME_STYLE
). Si no se proporciona una fecha, se utiliza
la fecha y hora actual.
Parameters
- $date : string|null = null
-
La fecha y hora a formatear en formato de cadena (opcional). Si es null o está vacía, se usa la fecha y hora actual.
Return values
string —La fecha y hora formateadas según el estilo definido.
dateTimeOperation()
Realiza una operación sobre una fecha y hora, y devuelve el resultado formateado.
public
static dateTimeOperation(string $date, string $operation) : string
Esta función toma una fecha y hora, y una operación (como "+1 hour", "-30 minutes", etc.),
aplica la operación a la fecha y hora dadas, y devuelve la nueva fecha y hora formateadas
según el estilo de fecha y hora definido (self::DATETIME_STYLE
).
Parameters
- $date : string
-
La fecha y hora inicial en formato de cadena.
- $operation : string
-
La operación a realizar sobre la fecha y hora (ej. "+1 hour", "-30 minutes").
Return values
string —La fecha y hora resultantes después de aplicar la operación, formateadas según el estilo definido.
fixHtml()
Corrige el texto HTML reemplazando secuencias específicas de HTML por sus caracteres correspondientes.
public
static fixHtml([string|null $text = null ]) : string|null
Reemplaza las secuencias HTML definidas en self::HTML_REPLACEMENTS
('<', '>', '"', ''')
con los caracteres correspondientes definidos en self::HTML_CHARS
('<', '>', '"', "'").
Parameters
- $text : string|null = null
-
El texto HTML a corregir. Puede ser nulo.
Return values
string|null —El texto corregido, o nulo si el texto de entrada es nulo.
folder()
Construye una ruta de carpeta a partir de los nombres de carpetas proporcionados.
public
static folder(string ...$folders) : string
Parameters
- $folders : string
-
Nombres de carpetas que se deben concatenar.
Return values
string —La ruta de la carpeta resultante.
folderCheckOrCreate()
Verifica si una carpeta existe y, si no existe, la crea.
public
static folderCheckOrCreate(string $folder) : bool
Parameters
- $folder : string
-
La ruta de la carpeta a verificar o crear.
Return values
bool —true
si la carpeta existe o se creó exitosamente, false
en caso contrario.
folderCopy()
Copia el contenido de una carpeta a otra, incluyendo subcarpetas y archivos.
public
static folderCopy(string $src, string $dst) : bool
Parameters
- $src : string
-
La ruta de la carpeta de origen que se debe copiar.
- $dst : string
-
La ruta de la carpeta de destino donde se copiarán los archivos.
Return values
bool —true
si la operación de copia se completó exitosamente.
folderDelete()
Elimina una carpeta y su contenido recursivamente.
public
static folderDelete(string $folder) : bool
Parameters
- $folder : string
-
La ruta de la carpeta o archivo que se debe eliminar.
Return values
bool —true
si la carpeta o archivo fue eliminado exitosamente, false
en caso contrario.
folderScan()
Escanea el contenido de una carpeta y opcionalmente sus subcarpetas, excluyendo archivos y carpetas especificados.
public
static folderScan(string $folder[, bool $recursive = false ][, array<string|int, mixed> $exclude = ['.DS_Store', '.well-known'] ]) : array<string|int, mixed>
Parameters
- $folder : string
-
La ruta de la carpeta que se debe escanear.
- $recursive : bool = false
-
Indica si se debe realizar una búsqueda recursiva en las subcarpetas. Por defecto es
false
. - $exclude : array<string|int, mixed> = ['.DS_Store', '.well-known']
-
Lista de archivos y carpetas a excluir del resultado. Por defecto incluye
.DS_Store
y.well-known
.
Return values
array<string|int, mixed> —Un array con los nombres de archivos y carpetas encontrados, incluyendo rutas relativas si se busca recursivamente.
folderSize()
Calcula el tamaño total de una carpeta y su contenido, excluyendo archivos y carpetas especificados.
public
static folderSize(string $folder[, array<string|int, mixed> $exclude = ['.DS_Store', '.well-known'] ]) : int
Parameters
- $folder : string
-
La ruta de la carpeta cuyo tamaño se desea calcular.
- $exclude : array<string|int, mixed> = ['.DS_Store', '.well-known']
-
Lista de archivos y carpetas a excluir del cálculo. Por defecto, incluye
.DS_Store
y.well-known
.
Return values
int —El tamaño total de la carpeta y su contenido en bytes.
hour()
Obtiene la hora actual o la hora de una fecha específica en formato determinado.
public
static hour([string|null $date = null ]) : string
Parameters
- $date : string|null = null
-
La fecha y hora a formatear. Si se proporciona, se usa para obtener la hora correspondiente. Si es nulo o vacío, se usa la hora actual.
Return values
string —La hora formateada en el formato especificado por self::HOUR_STYLE
.
lang()
Crea una instancia de `Translator` para gestionar la traducción en el idioma especificado.
public
static lang([string|null $lang = '' ]) : Translator
Parameters
- $lang : string|null = ''
-
El código del idioma para la traducción. Si se proporciona, se usa para configurar el traductor. Si es nulo, se usa un valor predeterminado.
Return values
Translator —Una instancia de Translator
configurada con el idioma especificado.
log()
Crea una instancia de `MiniLog` para registrar mensajes, con soporte para traducción.
public
static log([string $channel = '' ]) : MiniLog
Parameters
- $channel : string = ''
-
El nombre del canal de registro. Si se proporciona, se usa para identificar el canal de registro en
MiniLog
.
Return values
MiniLog —Una instancia de MiniLog
configurada con el canal y el traductor.
money()
Formatea un número como una cadena de texto representando una cantidad de dinero con un símbolo de moneda.
public
static money(float|null $number[, string $coddivisa = '' ][, int|null $decimals = null ]) : string
Parameters
- $number : float|null
-
El número que se debe formatear. Si es nulo, se mostrará
0
. - $coddivisa : string = ''
-
El código de la divisa para obtener el símbolo. Por defecto es una cadena vacía.
- $decimals : int|null = null
-
El número de decimales a mostrar. Si es nulo, se usa el valor de configuración.
Return values
string —La cantidad de dinero formateada con el símbolo de la divisa.
noHtml()
Elimina los caracteres HTML de un texto reemplazándolos con sus correspondientes entidades HTML.
public
static noHtml(string|null $text) : string|null
Reemplaza los caracteres HTML definidos en self::HTML_CHARS
('<', '>', '"', "'")
con sus correspondientes representaciones en self::HTML_REPLACEMENTS
('<', '>', '"', ''').
Parameters
- $text : string|null
-
El texto del que se deben eliminar los caracteres HTML. Puede ser nulo.
Return values
string|null —El texto con los caracteres HTML reemplazados, o null
si el texto original era nulo.
number()
Formatea un número a una cadena con la configuración de decimales y separadores especificados.
public
static number(float|null $number[, int|null $decimals = null ]) : string
Parameters
- $number : float|null
-
El número que se debe formatear. Si es nulo, se usa 0.
- $decimals : int|null = null
-
El número de decimales que se deben mostrar. Si es nulo, se usa el valor de configuración.
Return values
string —El número formateado como una cadena.
password()
Genera una cadena aleatoria para usar como contraseña.
public
static password([int $length = 10 ]) : string
Esta función crea una contraseña de longitud especificada usando un conjunto de caracteres alfanuméricos y símbolos especiales.
Parameters
- $length : int = 10
-
La longitud deseada para la contraseña. Por defecto es 10.
Return values
string —La contraseña generada.
randomString()
Genera una cadena de caracteres aleatorios de una longitud especificada.
public
static randomString([int $length = 10 ]) : string
Esta función crea una cadena de caracteres aleatorios usando números y letras mayúsculas y minúsculas.
La longitud de la cadena generada es determinada por el parámetro $length
.
Parameters
- $length : int = 10
-
La longitud deseada para la cadena aleatoria. Por defecto es 10.
Return values
string —La cadena aleatoria generada.
settings()
Obtiene el valor de una configuración específica de un grupo, con un valor predeterminado si no está definido.
public
static settings(string $group, string $key[, mixed $default = null ]) : mixed
Parameters
- $group : string
-
El nombre del grupo de configuración.
- $key : string
-
La clave dentro del grupo de configuración.
- $default : mixed = null
-
Valor predeterminado a devolver si la clave no está definida. Por defecto es
null
.
Return values
mixed —El valor de la clave en el grupo de configuración, o el valor predeterminado si la clave no está definida.
settingsClear()
Limpia la configuración almacenada y borra el caché de configuración.
public
static settingsClear() : void
Return values
void —settingsSave()
Guarda la configuración actual en la base de datos.
public
static settingsSave() : bool
Return values
bool —true
si todos los grupos de configuración se guardan correctamente, false
en caso contrario.
settingsSet()
Establece un valor en la configuración de un grupo específico.
public
static settingsSet(string $group, string $key, mixed $value) : void
Parameters
- $group : string
-
El nombre del grupo de configuración al que se debe asignar el valor.
- $key : string
-
La clave dentro del grupo de configuración donde se debe asignar el valor.
- $value : mixed
-
El valor que se debe asignar a la clave dentro del grupo.
Return values
void —siteUrl()
Obtiene la URL base del sitio web.
public
static siteUrl() : string
Return values
string —La URL base del sitio web.
slug()
Convierte un texto en un slug amigable para URLs.
public
static slug(string $text[, string $separator = '-' ], int $maxLength) : string
Parameters
- $text : string
-
El texto que se debe convertir en slug.
- $separator : string = '-'
-
El carácter que se usará para reemplazar los espacios y caracteres no alfanuméricos. Por defecto es '-'.
- $maxLength : int
-
La longitud máxima del slug. Si es 0, no se aplica límite. Por defecto es 0.
Return values
string —El slug generado.
textBreak()
Corta un texto a una longitud específica y añade un marcador de truncamiento si es necesario.
public
static textBreak(string|null $text[, int $length = 50 ][, string $break = '...' ]) : string
Parameters
- $text : string|null
-
El texto que se debe truncar. Puede ser nulo.
- $length : int = 50
-
La longitud máxima permitida para el texto truncado. Por defecto es 50.
- $break : string = '...'
-
El marcador de truncamiento que se añadirá al final del texto truncado. Por defecto es '...'.
Return values
string —El texto truncado con el marcador de truncamiento añadido si es necesario.
timeToDate()
Convierte un timestamp Unix en una cadena de fecha.
public
static timeToDate(int $time) : string
Esta función utiliza un formato de fecha definido en self::DATE_STYLE
.
Parameters
- $time : int
-
El timestamp Unix que se debe convertir.
Return values
string —La representación de la fecha en el formato especificado.
timeToDateTime()
Convierte un timestamp Unix en una cadena de fecha y hora.
public
static timeToDateTime(int $time) : string
Esta función utiliza un formato de fecha y hora definido en self::DATETIME_STYLE
.
Parameters
- $time : int
-
El timestamp Unix que se debe convertir.
Return values
string —La representación de la fecha y hora en el formato especificado.
settingsLoad()
private
static settingsLoad() : void