FacturaScripts

Kernel
in package

FinalYes

El corazón de FacturaScripts. Se encarga de gestionar las rutas y ejecutar los controladores.

Table of Contents

Properties

$mock_execution_time  : float|null
$routes  : array<string|int, mixed>
$routesCallbacks  : array<string|int, Closure>
$timers  : array<string|int, mixed>

Methods

addRoute()  : void
Añade una ruta y el controlador que la atiende.
addRoutes()  : void
Registra una función que añadirá rutas cuando se reconstruyan con rebuildRoutes().
clearRoutes()  : void
Elimina todas las rutas registradas.
getExecutionTime()  : float
Devuelve los segundos transcurridos desde el arranque de FacturaScripts, o el tiempo simulado si se ha establecido con setMockExecutionTime().
getTimer()  : float
Devuelve los segundos transcurridos del temporizador indicado, entre su inicio y su parada, o hasta ahora si sigue en marcha. 0.0 si no existe.
getTimers()  : array<string|int, mixed>
Devuelve todos los temporizadores, con su inicio, parada y memoria usada.
init()  : void
Inicializa FacturaScripts: define las constantes de compatibilidad con versiones antiguas, establece el idioma, y carga los mods y workers.
lock()  : bool
Intenta bloquear el proceso indicado para que no se ejecute más de una vez a la vez, mediante un archivo de bloqueo en MyFiles. Los bloqueos de más de 2 horas se descartan.
rebuildRoutes()  : void
Reconstruye todas las rutas: las predeterminadas, una por cada controlador de Dinamic/Controller, y las registradas con addRoutes(). Después se pueden guardar con saveRoutes().
run()  : void
Ejecuta el controlador correspondiente a la url indicada. Si se produce una excepción, la gestiona con el controlador de errores adecuado.
saveRoutes()  : bool
Guarda las rutas en el archivo MyFiles/routes.json, de donde se cargarán en las siguientes peticiones.
setMockExecutionTime()  : void
Establece un tiempo de ejecución simulado para los tests.
startTimer()  : void
Inicia un temporizador con el nombre indicado, anotando el momento y la memoria en uso. Si ya existía, lo reinicia.
stopTimer()  : float
Detiene el temporizador indicado y devuelve los segundos transcurridos.
unlock()  : bool
Libera el bloqueo del proceso indicado, eliminando su archivo de bloqueo.
version()  : float
Devuelve la versión de FacturaScripts.
checkControllerClass()  : array<string|int, mixed>
Resuelve la clase del controlador: si no tiene namespace, lo busca en Dinamic, y si la clase no existe, en Core.
finishRequest()  : void
Envía la respuesta al cliente y cierra la conexión, para que el trabajo que quede pendiente en el servidor no haga esperar al navegador. En modo cli no hace nada.
getErrorHandler()  : ErrorControllerInterface
Devuelve el controlador de errores adecuado para la excepción: el que indique la propia excepción si es una KernelException, o DefaultError en su defecto, dando prioridad a las versiones de Dinamic.
getRelativeUrl()  : string
Devuelve la url relativa, sin la ruta base de la instalación, saneada para prevenir path traversal.
loadDefaultRoutes()  : void
Añade las rutas predeterminadas: raíz, api, cron, login, archivos estáticos, etc.
loadRoutes()  : void
Carga todas las rutas: si no hay base de datos configurada, solo el instalador; en caso contrario, las predeterminadas más las del archivo MyFiles/routes.json, ordenadas por posición.
matchesRoute()  : bool
Comprueba si la url encaja con la ruta, ya sea por coincidencia exacta o por comodín (rutas terminadas en *).
runController()  : void
Busca la primera ruta que encaje con la url y ejecuta su controlador.

Properties

$mock_execution_time

private static float|null $mock_execution_time

$routes

private static array<string|int, mixed> $routes = []

$routesCallbacks

private static array<string|int, Closure> $routesCallbacks = []

$timers

private static array<string|int, mixed> $timers = []

Methods

addRoute()

Añade una ruta y el controlador que la atiende.

public static addRoute(string $route, string $controller[, int $position = 0 ][, string $customId = '' ]) : void
Parameters
$route : string

Ruta relativa, por ejemplo '/ListAsiento'. Si termina en *, actúa como comodín.

$controller : string

Clase del controlador, con namespace completo.

$position : int = 0

Prioridad de la ruta: se comprueban primero las de posición menor.

$customId : string = ''

Identificador propio: si ya existe una ruta con el mismo, la reemplaza.

addRoutes()

Registra una función que añadirá rutas cuando se reconstruyan con rebuildRoutes().

public static addRoutes(Closure $closure) : void
Parameters
$closure : Closure

Función que recibe el array de rutas actuales.

clearRoutes()

Elimina todas las rutas registradas.

public static clearRoutes() : void

getExecutionTime()

Devuelve los segundos transcurridos desde el arranque de FacturaScripts, o el tiempo simulado si se ha establecido con setMockExecutionTime().

public static getExecutionTime([int $decimals = 5 ]) : float
Parameters
$decimals : int = 5

Número de decimales del resultado.

Return values
float

getTimer()

Devuelve los segundos transcurridos del temporizador indicado, entre su inicio y su parada, o hasta ahora si sigue en marcha. 0.0 si no existe.

public static getTimer(string $name) : float
Parameters
$name : string

Nombre del temporizador.

Return values
float

getTimers()

Devuelve todos los temporizadores, con su inicio, parada y memoria usada.

public static getTimers() : array<string|int, mixed>
Return values
array<string|int, mixed>

init()

Inicializa FacturaScripts: define las constantes de compatibilidad con versiones antiguas, establece el idioma, y carga los mods y workers.

public static init() : void

lock()

Intenta bloquear el proceso indicado para que no se ejecute más de una vez a la vez, mediante un archivo de bloqueo en MyFiles. Los bloqueos de más de 2 horas se descartan.

public static lock(string $processName) : bool
Parameters
$processName : string

Nombre del proceso a bloquear.

Return values
bool

True si se ha conseguido el bloqueo, false si ya estaba bloqueado.

rebuildRoutes()

Reconstruye todas las rutas: las predeterminadas, una por cada controlador de Dinamic/Controller, y las registradas con addRoutes(). Después se pueden guardar con saveRoutes().

public static rebuildRoutes() : void

run()

Ejecuta el controlador correspondiente a la url indicada. Si se produce una excepción, la gestiona con el controlador de errores adecuado.

public static run(string $url) : void
Parameters
$url : string

Url solicitada.

saveRoutes()

Guarda las rutas en el archivo MyFiles/routes.json, de donde se cargarán en las siguientes peticiones.

public static saveRoutes() : bool
Return values
bool

setMockExecutionTime()

Establece un tiempo de ejecución simulado para los tests.

public static setMockExecutionTime(float|null $seconds) : void
Parameters
$seconds : float|null

Segundos simulados, null para volver al tiempo real.

startTimer()

Inicia un temporizador con el nombre indicado, anotando el momento y la memoria en uso. Si ya existía, lo reinicia.

public static startTimer(string $name) : void
Parameters
$name : string

Nombre del temporizador.

stopTimer()

Detiene el temporizador indicado y devuelve los segundos transcurridos.

public static stopTimer(string $name) : float

Si no existía, lo crea en ese momento.

Parameters
$name : string

Nombre del temporizador.

Return values
float

unlock()

Libera el bloqueo del proceso indicado, eliminando su archivo de bloqueo.

public static unlock(string $processName) : bool
Parameters
$processName : string

Nombre del proceso a desbloquear.

Return values
bool

True si existía el bloqueo y se ha eliminado.

version()

Devuelve la versión de FacturaScripts.

public static version() : float
Return values
float

checkControllerClass()

Resuelve la clase del controlador: si no tiene namespace, lo busca en Dinamic, y si la clase no existe, en Core.

private static checkControllerClass(string $controller) : array<string|int, mixed>
Parameters
$controller : string

Clase del controlador, con o sin namespace.

Return values
array<string|int, mixed>

La clase resuelta y el nombre del controlador.

finishRequest()

Envía la respuesta al cliente y cierra la conexión, para que el trabajo que quede pendiente en el servidor no haga esperar al navegador. En modo cli no hace nada.

private static finishRequest() : void

getErrorHandler()

Devuelve el controlador de errores adecuado para la excepción: el que indique la propia excepción si es una KernelException, o DefaultError en su defecto, dando prioridad a las versiones de Dinamic.

private static getErrorHandler(Exception $exception) : ErrorControllerInterface
Parameters
$exception : Exception

Excepción a gestionar.

Return values
ErrorControllerInterface

getRelativeUrl()

Devuelve la url relativa, sin la ruta base de la instalación, saneada para prevenir path traversal.

private static getRelativeUrl(string $url) : string
Parameters
$url : string

Url solicitada.

Return values
string

loadDefaultRoutes()

Añade las rutas predeterminadas: raíz, api, cron, login, archivos estáticos, etc.

private static loadDefaultRoutes() : void

Para cada una usa el controlador de Dinamic si existe, o el de Core en su defecto.

loadRoutes()

Carga todas las rutas: si no hay base de datos configurada, solo el instalador; en caso contrario, las predeterminadas más las del archivo MyFiles/routes.json, ordenadas por posición.

private static loadRoutes() : void

matchesRoute()

Comprueba si la url encaja con la ruta, ya sea por coincidencia exacta o por comodín (rutas terminadas en *).

private static matchesRoute(string $url, string $route) : bool
Parameters
$url : string

Url relativa a comprobar.

$route : string

Ruta registrada.

Return values
bool

runController()

Busca la primera ruta que encaje con la url y ejecuta su controlador.

private static runController(string $url) : void

Si ninguna encaja, lanza una KernelException de página no encontrada.

Parameters
$url : string

Url relativa solicitada.

On this page

Search results