FacturaScripts

Tools
in package

Una clase con funciones útiles para el desarrollo de FacturaScripts.

Table of Contents

Constants

ASCII  : mixed = ['Š' => 'S', 'š' => 's', 'Đ' => 'Dj', 'đ' => 'd...
DATE_STYLE  : mixed = 'd-m-Y'
DATETIME_STYLE  : mixed = 'd-m-Y H:i:s'
HOUR_STYLE  : mixed = 'H:i:s'
HTML_CHARS  : mixed = ['<', '>', '"', "'"]
HTML_REPLACEMENTS  : mixed = ['&lt;', '&gt;', '&quot;', '&#39;']

Properties

$settings  : array<string|int, mixed>
$translator  : Translator

Methods

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.
decimals()  : int
Obtiene el número de decimales configurado en el sistema.
env()  : mixed
Devuelve el valor de una variable de entorno o el valor por defecto si no existe.
fixHtml()  : string|null
Corrige el texto HTML reemplazando secuencias específicas de HTML por sus caracteres correspondientes.
floatCmp()  : bool
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 sub-carpetas, excluyendo archivos y carpetas especificados.
folderSize()  : int|float
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.
kebab()  : string
Convierte un texto a formato kebab-case (minúsculas con guiones).
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.
round()  : float
Redondea un número utilizando el número de decimales configurado en el sistema.
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.
trans()  : string
Traduce un texto utilizando el traductor configurado.
translatorClear()  : void
Limpia el traductor almacenado para forzar su recarga con el nuevo idioma.
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 = ['&lt;', '&gt;', '&quot;', '&#39;']

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.

decimals()

Obtiene el número de decimales configurado en el sistema.

public static decimals() : int
Return values
int —

El número de decimales configurado, por defecto 2.

env()

Devuelve el valor de una variable de entorno o el valor por defecto si no existe.

public static env(string $key[, mixed $default = null ]) : mixed
Parameters
$key : string

Nombre de la variable de entorno.

$default : mixed = null

Valor por defecto si la variable no está definida.

Return values
mixed —

El valor de la variable de entorno o el valor por defecto.

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.

floatCmp()

public static floatCmp(mixed $f1, mixed $f2[, mixed $precision = 10 ][, mixed $round = false ]) : bool
Parameters
$f1 : mixed
$f2 : mixed
$precision : mixed = 10
$round : mixed = false
Return values
bool

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 sub-carpetas, 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 sub-carpetas. 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|float
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|float —

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.

kebab()

Convierte un texto a formato kebab-case (minúsculas con guiones).

public static kebab(string $text) : string
Parameters
$text : string

El texto que se debe convertir a kebab-case.

Return values
string —

El texto convertido a formato kebab-case.

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. Garantiza que la contraseña contenga al menos un número y una letra.

Parameters
$length : int = 10

La longitud deseada para la contraseña. Por defecto es 10. Mínimo 8.

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.

round()

Redondea un número utilizando el número de decimales configurado en el sistema.

public static round(float|null $num) : float
Parameters
$num : float|null

El número que se debe redondear. Si es null, se devuelve 0.0.

Return values
float —

El número redondeado con los decimales configurados.

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

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.

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 = 0 ]) : 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 = 0

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.

trans()

Traduce un texto utilizando el traductor configurado.

public static trans(string|null $text[, array<string|int, mixed> $context = [] ]) : string

Esta función utiliza una instancia de Translator para traducir el texto proporcionado, aplicando el contexto opcional si se proporciona.

Parameters
$text : string|null

El texto que se debe traducir.

$context : array<string|int, mixed> = []

Contexto opcional para la traducción. Por defecto es un array vacío.

Return values
string —

El texto traducido.

translatorClear()

Limpia el traductor almacenado para forzar su recarga con el nuevo idioma.

public static translatorClear() : void

settingsLoad()

private static settingsLoad() : void
On this page

Search results