# Temma > Temma is an open source PHP MVC framework (PHP 8.3+) for building websites, APIs and > command-line tools. It offers a convention-based router, several output views (Smarty > templates, JSON, CSV, RSS, iCal), a DAO layer over relational databases, connectors to > many data sources (SQL, Redis, Memcache, S3, message queues, LLM providers), PHP > attributes for declarative behavior, dependency injection and asynchronous processing. To create a new Temma project on a machine, follow https://www.temma.net/llms-install.md: it is an executable installation guide that checks the prerequisites, creates the project with Composer, configures the database and the web server, and starts the site. Every Temma project embeds AI skills (one per topic: controllers, views, DAOs, validation, authentication, API...), installed as Markdown files in `.claude/skills/temma-*` and `.agents/skills/temma-*`. Once a project exists, those skills are the reference for development work; the pages below document the framework itself. Documentation is available in English (`/en/`), French (`/fr/`), Spanish (`/es/`) and Portuguese (`/pt/`). The English pages are listed here. ## Getting started - [Introduction](https://www.temma.net/en/introduction): what Temma is, its philosophy and main features. - [Installation](https://www.temma.net/en/documentation/installation): project creation with Composer, directory tree, Apache and Nginx configuration, development server. - [Documentation index](https://www.temma.net/en/documentation): entry point to all documentation pages. - [Tutorials](https://www.temma.net/en/tuto): step-by-step examples (REST API, chat application, caching, SMS sending, custom data sources). ## Core concepts - [Controllers](https://www.temma.net/en/documentation/controllers): actions, URL parameters, magic methods (`__invoke`, `__proxy`, `__call`, `__wakeup`, `__sleep`), redirections. - [Configuration](https://www.temma.net/en/documentation/configuration): the `etc/temma.php` file, data sources, routes, plugins, log levels, error pages, extended `x-*` sections. - [Routing](https://www.temma.net/en/documentation/routing): URL to controller mapping, route aliases, the Router plugin. - [Execution flow](https://www.temma.net/en/documentation/flow): request lifecycle, pre/post plugins, flow control constants (`EXEC_FORWARD`, `EXEC_HALT`, `EXEC_QUIT`, `EXEC_RESTART`, `EXEC_REBOOT`). - [Views](https://www.temma.net/en/documentation/views): output rendering; sub-pages per view type follow the `view-` pattern (`view-smarty`, `view-json`, `view-csv`, `view-rss`, `view-ical`, `view-ini`, `view-php`). - [Internal objects](https://www.temma.net/en/documentation/internal_objects): the objects available in controllers (request, response, session, configuration, loader). - [Dependency injection](https://www.temma.net/en/documentation/loader): the Loader component, lazy instantiation, factories, aliases. - [Attributes](https://www.temma.net/en/documentation/attributes): PHP 8 attributes for authentication, input/output validation, HTTP methods, templates, views, redirections. ## Data - [Model](https://www.temma.net/en/documentation/model): the DAO layer; sub-pages `model-dao_auto` (automatic DAO) and `model-dao_custom` (custom DAO classes). - [Data sources](https://www.temma.net/en/documentation/datasources): unified access to databases, caches, object storage, message queues and messaging services; one sub-page per connector, following the `datasource-` pattern (`datasource-sql`, `datasource-redis`, `datasource-memcache`, `datasource-s3`, `datasource-file`, `datasource-socket`, `datasource-beanstalk`, `datasource-sqs`, `datasource-zeromq`, `datasource-smtp`, `datasource-slack`, `datasource-discord`, `datasource-telegram`, `datasource-googlechat`, `datasource-pushover`, `datasource-smsmode`, `datasource-ai`, `datasource-openai`). - [Sessions](https://www.temma.net/en/documentation/sessions): session management and flash variables. ## Security - [User authentication](https://www.temma.net/en/documentation/auth): the built-in authentication controller, roles and services, the `#[TµAuth]` attribute. - [Data validation](https://www.temma.net/en/documentation/validation): validation contracts for URL parameters, GET/POST fields and JSON payloads, declaratively or programmatically. - [Security](https://www.temma.net/en/documentation/security): good practices and the checks to run before going to production. ## Features - [Command-line interface](https://www.temma.net/en/documentation/cli): CLI controllers executed by `bin/comma`, for scripts and cron jobs. - [Asynchronous processing](https://www.temma.net/en/documentation/asynk): deferred and background task execution. - [Artificial intelligence](https://www.temma.net/en/documentation/ai): unified interface to LLM providers (Claude, OpenAI, Gemini, Mistral, OpenRouter). - [Server-sent events](https://www.temma.net/en/documentation/server_sent_events): pushing live updates to browsers. - [Plugins](https://www.temma.net/en/documentation/plugins): transverse pre/post processing, and the bundled plugins (API, Router, Cache, Debug, Language, KebabCaseUrl). - [Log](https://www.temma.net/en/documentation/log): log levels and classes; sub-pages `log-managers`, `log-syslog`, `log-datadog`. - [Helpers](https://www.temma.net/en/documentation/helpers): standalone utility classes (text, email, files, terminal output, serialization, locks, timers) and Smarty plugins; one sub-page per helper, following the `helper-` pattern. - [AI skills](https://www.temma.net/en/documentation/skills): the skills shipped with the framework, how they are installed into a project and how to opt out. - [Tests](https://www.temma.net/en/documentation/tests): writing and running tests in a Temma project. ## Optional - [FAQ](https://www.temma.net/en/faq): frequently asked questions, both general and technical. - [Update](https://www.temma.net/en/documentation/update): updating the framework in an existing project. - [Migration](https://www.temma.net/en/documentation/migration): migrating from older Temma versions. - [External libraries](https://www.temma.net/en/documentation/libraries): third-party libraries usable with the framework. - [Source code](https://github.com/Digicreon/Temma): the framework repository on GitHub. - [Full page list](https://www.temma.net/sitemap.xml): every page of the site, in all four languages.