Skip to content

Quiote

A powerful, scalable PHP 8.5+ MVC framework for serious, long-lived applications.

PSR-15 middleware pipeline

A clean, composable request pipeline — routing, security, validation, CSRF, and dispatch each live in their own middleware.

Fine-grained control

Quiote puts choice and freedom over limiting conventions. Most implementation decisions stay yours.

Modern PHP 8.5+

Typed properties, enums, readonly, attributes, and first-class callable syntax throughout.

Flexible configuration

PHP arrays, YAML, or XML — mixed and matched per file, with full inheritance across formats.

A request flows through, in order: URL, route, action, view, template, response. A route maps a path to a module and action:

Routing/AppRouting.php
$routes->add('index', new Route('/', ['_module' => 'Default', '_action' => 'Index']));

The action decides what happens and returns the name of a view — never HTML. One class handles every verb: Quiote maps GET to executeRead, POST to executeWrite, PUT/PATCH to executeUpdate, DELETE to executeRemove.

Modules/Default/Actions/IndexAction.php
class IndexAction extends Action
{
public function executeRead(WebRequest $rd)
{
$this->setAttribute('title', 'Home');
return 'Success'; // render the "Success" view for this action
}
}

That naming convention is the thread that ties everything together — the Index action returning 'Success' resolves to the IndexSuccessView class and the IndexSuccess template. Build the whole thing, end to end.

The latest stable version is v4.0.0. Install it from Packagist with Composer:

Terminal window
composer require quioteframework/quiote

Then scaffold a fresh application:

Terminal window
vendor/bin/quiote new my-app

See Installation for requirements and the command-line tool for everything quiote can do.

Built for AI agents

Quiote ships a first-class MCP server — written in Quiote itself — that gives Claude Code, Cursor, or any MCP client authoritative, up-to-date knowledge of the framework: the docs, full-text search, and convention cards. Set up the AI assistant.