Documentação


Sumário

  • Migration : Como migrar do Temma 1.x para a versão 2
  • Installation : Baixe o Temma e instale-o para iniciar seu projeto Web
  • Atualização : Mantenha o Temma atualizado em seus projetos Web
  • Configuration : Todas as diretivas de configuração do arquivo temma.php
  • Bibliotecas externas : Como usar bibliotecas de funções externas
  • Roteamento : O sistema de roteamento padrão do Temma, e o roteamento avançado
  • Log : Uso do sistema de log, gerenciamento por níveis de criticidade
    • Gerenciadores de log : Como criar seus próprios log managers
    • Syslog : Para enviar seus logs a um servidor Syslog
    • Datadog : Para enviar seus logs ao serviço Datadog
  • Controladores : Partes essenciais da sua aplicação Web
  • Visões : Templates Smarty ou exportações em JSON/CSV/RSS/iCal/INI
    • Smarty : Visão padrão, baseada em templates Smarty
    • PHP : Visão que usa templates em PHP puro
    • JSON : Exportação em JSON, com ou sem validação de dados
    • CSV : Exportação em CSV
    • RSS : Exportação de feed RSS
    • INI : Exportação no formato INI
    • iCal : Exportação de calendário iCal
  • Objetos internos : Os objetos internos do Temma (Config, Request, Response, Session)
  • Injeção de dependências : A espinha dorsal do desenvolvimento das suas aplicações
  • Sessions : Extensão das sessões de usuário gerenciadas pelo PHP
  • Fontes de dados : Para gerenciar o acesso a dados de forma unificada
    • SQL : Acesso a bancos de dados relacionais
    • Memcache : Acesso a servidores Memcached
    • Redis : Acesso a servidores Redis
    • File : Acesso ao armazenamento de arquivos locais
    • S3 : Acesso ao armazenamento Amazon S3
    • Socket : Comunicação de rede
    • ZeroMQ : Comunicação de rede usando a biblioteca ZeroMQ
    • SQS : Acesso às filas de mensagens Amazon SQS
    • Beanstalk : Acesso a servidores de fila de mensagens Beanstalkd
    • Smsmode : Para enviar mensagens de texto para telefones celulares
    • Slack : Para enviar notificações no Slack
    • Discord : Para enviar mensagens no Discord
    • Google Chat : Para enviar mensagens no Google Chat
    • Telegram : Para enviar mensagens no Telegram
    • Pushover : Para enviar notificações push para celulares
    • SMTP : Para enviar e-mails por meio de um relay SMTP
    • AI : Para consultar modelos de linguagem (LLM)
    • OpenAI : Para consultar os modelos de linguagem da OpenAI
  • Modelo : Como usar os DAOs para acessar bancos de dados
  • Fluxo de execução : Como gerenciar o fluxo de execução, entre os plugins e o controlador
  • Plugins : Como usar plugins, e escrever os seus próprios para modularizar seu código
  • Atributos : Como filtrar o acesso a controladores e ações
  • Tests : Para escrever testes de integração automatizados.
  • Interface de linha de comando : Para criar scripts executáveis na linha de comando, inicializados automaticamente pelo Temma
  • Eventos enviados pelo servidor : Para enviar eventos em tempo real do servidor para o cliente
  • Processamento assíncrono : Para realizar processamentos separadamente da requisição principal
  • Skills de IA : Skills para agentes de codificação com IA
  • Segurança : Boas práticas de segurança em uma aplicação Temma
  • Autenticação de usuários : Como gerenciar a autenticação de usuários
  • Validação de dados : Como validar dados de entrada e saída
  • Helpers : Objetos oferecidos pelo Temma para ajudá-lo em diversas situações
    • Scripts de linha de comando
      • Cache : Para limpar o cache.
      • User : Para gerenciar os usuários.
    • Controlador + plugin
      • Auth : Controlador e plugin para gerenciar a autenticação dos usuários
    • Plugins
      • Api : Para gerenciar o acesso a uma API
      • Cache : Para armazenar em cache as páginas HTML geradas
      • Debug : Para facilitar a depuração de projetos Temma
      • KebabCaseUrl : Para gerenciar URLs no formato kebab case
      • Idioma : Gerenciamento da localização multilíngue
    • Atributos
      • Auth : Para restringir o acesso a usuários autenticados
      • Check : Para validar dados de entrada (parâmetros GET/POST, payload, arquivos).
      • View : Para gerenciar a visão de controladores e ações
      • Template : Para definir o caminho do arquivo de template
      • Method : Para gerenciar os métodos HTTP autorizados
      • Referer : Para filtrar o acesso pelo cabeçalho HTTP REFERER
      • Redirect : Para redirecionar requisições automaticamente
    • Plugins Smarty
      • dump : Modificador e tag de bloco para exibir dados
      • urlize : Modificador que transforma um texto em URL
      • filenamize : Modificador que transforma um texto em nome de arquivo
      • nbsp : Modificador que transforma espaços em espaços não separáveis
    • Objetos utilitários
      • ANSI : Para formatar textos escritos na saída padrão
      • BaseConvert : Para fazer conversões de bases numéricas
      • DataFilter : Para filtrar e validar dados
      • Dumper : Para exibir dados
      • Email : Para enviar e-mails
      • ExtendedArray : Operações adicionais em arrays
      • File : Operações adicionais em arquivos
      • HTMLCleaner : Para limpar um fluxo HTML proveniente de um editor WYSIWYG
      • Serializer : Para serializar/desserializar dados
      • Lock : Para bloquear o acesso a um arquivo, ou a execução do script PHP atual
      • Misc : Funcionalidades diversas.
      • Registry : Para armazenar corretamente variáveis globais
      • Smarty : Para processar templates Smarty fora da visão
      • Term : Gerenciamento de terminais (TTY)
      • Text : Diversos tratamentos em strings de caracteres
      • Timer : Para gerenciar cronômetros

Componentes

Migração

As principais diferenças entre o Temma 1.x e a versão 2

Instalação

A instalação do Temma é muito simples

Configuração

A configuração do Temma se baseia em um arquivo PHP e, opcionalmente, em variáveis de ambiente

Bibliotecas externas

Integre facilmente bibliotecas externas aos seus projetos

Roteamento

O sistema de roteamento do Temma é propositalmente muito simples por padrão, mas pode ser estendido

Log

A escrita nos arquivos de log é feita de forma simples e expressiva, facilitando a depuração

Controladores

Os controladores do Temma são simples de criar e manipular, e podem ser facilmente estendidos

Visões

Templates Smarty por padrão, mas também exportações JSON, CSV, RSS, iCal, INI

Injeção de dependências

Este componente é a espinha dorsal dos seus desenvolvimentos de aplicação

Sessões

Armazene dados de uma sessão de usuário, para passar a um funcionamento com estado

Fontes de dados

Acesso unificado a diferentes fontes de dados (SQL, Redis, Memcache, arquivos, S3, SQS, Beanstalkd…)

Modelo

O acesso aos bancos de dados é feito usando o padrão DAO, com ou sem cache

Fluxo de execução

O Temma usa um sistema de plugins fácil de manipular para gerenciar a execução das requisições

Plugins

Modifique o comportamento da sua aplicação usando plugins pré- ou pós-controlador

Atributos

Proteja ou modifique o acesso aos controladores e às ações usando atributos PHP

Testes

Escreva scripts de teste automatizados

Interface de linha de comando

Execute facilmente scripts em linha de comando, inicializados pelo Temma

Eventos enviados pelo servidor

Para enviar eventos em tempo real do servidor para o cliente

Segurança

As boas práticas para proteger suas aplicações Temma

Autenticação de usuários

Implemente uma autenticação sem senha e um controle de acesso por papéis

Validação de dados

Valide os dados de entrada e saída usando contratos

Inteligência artificial

Consulte modelos de linguagem (LLMs) de diversos provedores através de uma única interface

Helpers

O Temma oferece vários objetos para facilitar diversos processamentos