Documentación
Índice
- Migration : Cómo migrar de Temma 1.x a la versión 2
- Installation : Descargar Temma e instalarlo para iniciar tu proyecto web
- Actualización : Mantener Temma actualizado en tu proyecto web
- Configuration : Todas las directivas de configuración del archivo temma.php
- Bibliotecas externas : Cómo usar bibliotecas de funciones externas
- Enrutamiento : El sistema de enrutamiento por defecto de Temma, y el enrutamiento avanzado
-
Log :
Uso del sistema de log, gestión por niveles de criticidad
- Gestores de log : Cómo crear tus propios gestores de log
- Syslog : Para enviar tus logs a un servidor Syslog
- Datadog : Para enviar tus logs al servicio Datadog
- Controladores : Partes esenciales de tu aplicación web
- Vistas : Plantillas Smarty o exportaciones JSON/CSV/RSS/iCal/INI
- Objetos internos : Los objetos internos de Temma (Config, Request, Response, Session)
- Inyección de dependencias : La columna vertebral de tus desarrollos de aplicación
- Sessions : Extensión de las sesiones de usuario gestionadas por PHP
-
Fuentes de datos :
Para gestionar el acceso a los datos de forma unificada
- SQL : Acceso a bases de datos relacionales
- Memcache : Acceso a servidores Memcached
- Redis : Acceso a servidores Redis
- File : Acceso al almacenamiento de archivos locales
- S3 : Acceso al almacenamiento Amazon S3
- Socket : Comunicación de red
- ZeroMQ : Comunicación de red usando la biblioteca ZeroMQ
- SQS : Acceso a las colas de mensajes Amazon SQS
- Beanstalk : Acceso a servidores de cola de mensajes Beanstalkd
- Smsmode : Para enviar SMS a teléfonos móviles
- Slack : Para enviar notificaciones en Slack
- Discord : Para enviar mensajes a Discord
- Google Chat : Para enviar mensajes a Google Chat
- Telegram : Para enviar mensajes a Telegram
- Pushover : Para enviar notificaciones push a móviles
- SMTP : Para enviar correos electrónicos a través de un relay SMTP
- AI : Para consultar modelos de lenguaje (LLM)
- OpenAI : Para consultar los modelos de lenguaje de OpenAI
-
Modelo :
Cómo usar los DAO para acceder a bases de datos
- DAO genéricos : Objetos DAO simples, para acceder fácilmente a una tabla
- DAO personalizados : Objetos personalizados, para encapsular consultas complejas
- Flujo de ejecución : Cómo gestionar el flujo de ejecución, entre los plugins y el controlador
- Plugins : Cómo usar plugins, y crear los tuyos propios para modularizar tu código
- Atributos : Cómo filtrar el acceso a los controladores y a las acciones
- Tests : Para escribir pruebas de integración automatizadas.
- Interfaz de línea de comandos : Para crear scripts ejecutables en línea de comandos, inicializados automáticamente por Temma
- Eventos enviados por el servidor : Para enviar eventos en tiempo real del servidor al cliente
- Procesamiento asíncrono : Para realizar procesamientos por separado de la petición principal
- Skills de IA : Skills para agentes de codificación con IA
- Seguridad : Buenas prácticas de seguridad en una aplicación Temma
- Autenticación de usuarios : Cómo gestionar la autenticación de los usuarios
- Validación de datos : Cómo validar los datos entrantes y salientes
-
Helpers :
Objetos ofrecidos por Temma para ayudarte en diversas circunstancias
- Scripts en línea de comandos
-
Controlador + plugin
- Auth : Controlador y plugin usados para gestionar la autenticación de los usuarios
-
Plugins
- Api : Para gestionar los accesos a una API
- Cache : Para almacenar en caché las páginas HTML generadas
- Debug : Para facilitar la depuración de proyectos Temma
- KebabCaseUrl : Para gestionar las URLs en formato kebab case
- Idioma : Gestión de la localización multilingüe
-
Atributos
- Auth : Para restringir el acceso a los usuarios autenticados
- Check : Para validar los datos entrantes (parámetros GET/POST, payload, archivos).
- View : Para gestionar la vista de los controladores y las acciones
- Template : Para definir la ruta al archivo de template
- Method : Para gestionar los métodos HTTP autorizados
- Referer : Para filtrar el acceso por HTTP REFERER
- Redirect : Para redirigir las peticiones automáticamente
-
Plugins Smarty
- dump : Modificador y etiqueta de bloque para volcar datos
- urlize : Modificador que transforma un texto en URL
- filenamize : Modificador que transforma un texto en nombre de archivo
- nbsp : Modificador que transforma espacios en espacios no separables
- hash : Modificador que genera valores de hash
-
Objetos utilitarios
- ANSI : Para dar formato a los textos escritos en la salida estándar
- BaseConvert : Para hacer conversiones de bases numéricas
- DataFilter : Para filtrar y validar datos
- Dumper : Para volcar datos
- Email : Para enviar correos electrónicos
- ExtendedArray : Operaciones adicionales sobre arrays
- File : Operaciones adicionales sobre archivos
- HTMLCleaner : Para limpiar un flujo HTML proveniente de un editor WYSIWYG
- Serializer : Para serializar/deserializar datos
- Lock : Para bloquear el acceso a un archivo, o la ejecución del script PHP actual
- Misc : Funcionalidades diversas.
- Registry : Para almacenar correctamente variables globales
- Smarty : Para procesar templates Smarty fuera de la vista
- Term : Gestión de terminales (TTY)
- Text : Diferentes tratamientos sobre cadenas de caracteres
- Timer : Para gestionar cronómetros
Componentes
Migración
Las principales diferencias entre Temma 1.x y la versión 2
Instalación
La instalación de Temma es muy sencilla
Configuración
La configuración de Temma se basa en un archivo PHP y, opcionalmente, en variables de entorno
Bibliotecas externas
Integra fácilmente bibliotecas externas en tus proyectos
Enrutamiento
El sistema de enrutamiento de Temma es intencionadamente muy simple por defecto, pero se puede extender
Log
La escritura en los archivos de log se hace de forma simple y expresiva, facilitando la depuración
Controladores
Los controladores de Temma son fáciles de crear y manipular, y pueden extenderse fácilmente
Vistas
Plantillas Smarty por defecto, pero también exportaciones JSON, CSV, RSS, iCal, INI
Inyección de dependencias
Este componente es la columna vertebral de tus desarrollos de aplicación
Sesiones
Registra datos relacionados con una sesión de usuario, para pasar a un funcionamiento con estado
Fuentes de datos
Acceso unificado a diferentes fuentes de datos (SQL, Redis, Memcache, archivos, S3, SQS, Beanstalkd…)
Modelo
El acceso a las bases de datos se hace usando el patrón DAO, con o sin caché
Flujo de ejecución
Temma usa un sistema de plugins fácil de manejar para gestionar la ejecución de las peticiones
Plugins
Modifica el comportamiento de tu aplicación usando plugins pre- o post-controlador
Atributos
Protege o modifica el acceso a los controladores y a las acciones usando atributos PHP
Pruebas
Escribe scripts de prueba automatizados
Interfaz de línea de comandos
Ejecuta fácilmente scripts en línea de comandos, inicializados por Temma
Eventos enviados por el servidor
Para enviar eventos en tiempo real del servidor al cliente
Seguridad
Las buenas prácticas para proteger tus aplicaciones Temma
Autenticación de usuarios
Configura una autenticación sin contraseña y un control de acceso basado en roles
Validación de datos
Valida los datos entrantes y salientes usando contratos
Inteligencia artificial
Consulta modelos de lenguaje (LLMs) de diferentes proveedores a través de una interfaz única
Helpers
Temma ofrece varios objetos para facilitar diversos procesamientos