Skip to content

Helpers Globales

Technomantus Corvi edited this page Sep 5, 2026 · 1 revision

Helpers globales (utils.php)

Función Descripción
e($value) Escapa HTML para prevenir XSS
env($key, $default) Lee una variable del .env
view($name, $data) Renderiza una vista dentro del layout
url($path) URL absoluta: url('/about')http://localhost:8050/about
redirect($path) Redirige y detiene la ejecución
current_uri() Path actual normalizado (única fuente de verdad para router + vistas)
session_ensure() Inicia la sesión si no está ya iniciada
flash($key) Lee y elimina un mensaje flash
old($key, $default) Recupera un valor de input anterior (para re-poblar formularios)
keep_old($data) Guarda datos en sesión para que old() los recupere tras un redirect
format_date($datetime) Formatea una fecha según el idioma activo (en → m/d/Y, es → d/m/Y)
t($clave, $replace = []) Traduce una clave en notación de puntos — ver Internacionalización
current_locale() Idioma activo: override de sesión si existe, si no APP_LOCALE del .env
locale_switch_url($code) Construye la URL para cambiar a un idioma dado, conservando el path actual
accepted_locales() Lista de códigos de idioma habilitados desde ACCEPTED_LANGUAGES, vacía si no está definida
locale_switcher_enabled() true si el selector de idioma debe mostrarse
csrf_field() Renderiza un <input> oculto con el token CSRF actual
csrf_verify($token) Verificación segura frente a timing attacks de un token CSRF enviado

Helpers de auth (auth.php, requiere tanuki_login)

Función Descripción
auth_check() true si hay un usuario con sesión iniciada
auth_user() El registro del usuario logueado, o null
auth_login($user) Inicia sesión para un usuario (regenera el ID de sesión)
auth_logout() Cierra la sesión del usuario actual
auth_require() Redirige a /login si no hay sesión; llámalo como primera línea de un método de controlador protegido

Correo (config/mail.php, requiere tanuki_login)

Mail::send($to, $subject, $htmlBody); // → bool

Envoltorio ligero sobre PHPMailer, mismo patrón de conexión perezosa que Database/Redis/Mongo — nada se conecta al SMTP hasta que se llama a send().

Clone this wiki locally