quioteframework/quiote
Composer 安装命令:
composer require quioteframework/quiote
包简介
Quiote is a full-featured MVC-style framework for PHP 8.5+ with a strong focus on structure, code reusability and flexibility.
关键字:
README 文档
README
- License: LGPL-2.1
- Latest Version: 1.0.0-pre-alpha1
- Build:
- Homepage: https://github.com/quioteframework/quiote/
History
Quiote is a fork/rewrite of Agavi, an MVC framework that started life around 2006 and was maintained until the mid 2010s. Agavi was a fork from an older MVC framework called Mojavi. Mojave desert -> Mojavi. The agave plant grows in the Mojave desert -> Agavi. Agavi being an excellent framework continued serving well for around a decade after active development stopped, but in 2025 the (probably) main company using Agavi decided it needed a refresh and started porting it to PHP 8.
A lot of things had changed during the 20 years since Agavi's inception. There were no middleware, no DI containers, no PSR-7/PSR-15. While the project started as a direct port to PHP 8.4, it became painfully obvious that a lot of things needed to change in the internals, and as work progressed the fork strayed further and further away from the original Agavi design.
- PSR-15 middleware pipeline replaces Agavi's global/action filter chain end to end (routing, content negotiation, CSRF, security, validation, dispatch, form population, and more each live in their own middleware).
- PSR-7 HTTP messages (via
nyholm/psr7) instead of Agavi's bespoke request/response objects. - A DI container (
Quiote\DI\Container) with constructor injection for actions, services, and views, replacingfactories.xml-driven instantiation. - PSR-3-compatible structured logging (
Quiote\Logging\*), with per-category log levels and pluggable sinks, replacing ad-hoc error logging. - CSRF protection built into the middleware stack (
symfony/security-csrf), covering both cookie-based PHP UIs and header-based API/SPA clients. - A config system that isn't XML-only anymore:
settings,factories,databasesand most other config types can be written as plain PHP arrays or YAML instead of XML, mixed and matched per file, with autodetection or an explicitcore.config_formatoverride, and fullparent/importsinheritance across formats. - A validator compiler: XML
validators.xmlfiles still work, but validators can now be declared directly in PHP via a fluent builder - Symfony components for routing, caching (including APCu-backed config caching for persistent workers like FrankenPHP), rate limiting, and YAML parsing, instead of Agavi's homegrown equivalents.
- A modern PHP 8.5 codebase: typed properties, enums, readonly properties, first-class callable syntax, and attributes throughout, in place of the PHP 5-era code Agavi started with.
Quiote is the flower that blooms from the agave plant at the end of it's life.
Purpose
Quiote is a powerful, scalable PHP 8.5 application framework that follows the MVC paradigm. It enables developers to write clean, maintainable and extensible code. Quiote puts choice and freedom over limiting conventions, and focuses on sustained quality rather than short-sighted decisions.
Quiote is designed for serious development. It is not a complete website construction kit but rather a skeleton over which you build your application. The architecture of Quiote allows developers to retain very fine control over their code.
Quiote strives to leave most implementational choices to the developers. Quiote's components are inherently extensible, and the framework itself is designed around a configuration system that provides a very flexible environment.
The framework works for almost all kinds of applications but excels most in large codebases, long-term projects, extreme cases of integration and other special situations.
Requirements and installation
- PHP 8.5+
- required extensions:
dom,intl,SPL,Reflection,PCRE(andlibxml, whichdomdepends on) - optional extensions:
xsl(only needed to transform pre-1.0 style configuration files),tokenizer(enables more efficient config caches),session,PDO(for PDO-based database connectors),iconv
No releases or packagist packages yet, as we are pre-alpha.
Alternatively, you can download a release archive from the github releases page and extract it or see the downloads page on the homepage.
Documentation
TBD
Contribution
Discussing issues in github issues as well as talking is always of good help to everyone. If you want to do more please contribute by forking and sending a pull request. More information can be found in the CONTRIBUTING.md file.
License
Quiote is licensed under the LGPL 2.1. See the Open Source Initiative and this FAQ entry for details. All relevant licenses and details can be found in the LICENSE file.
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 0
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: LGPL-2.1
- 更新时间: 2026-07-04