FAQ

Does Monad have a service container?

No. Monad's services — Route, View, DB, Session, and the rest — are static classes called directly. There's nothing to bind or resolve. This is a deliberate "light scaffolding" choice, not a missing feature: if it's not necessary, Monad doesn't implement it.

What databases does Monad support?

MySQL is the default PDO driver. PostgreSQL and SQLite are also built-in supported dialects via the Schema service — SQLite in particular is handy for local development, since it needs no separate database server to install.

Does mitosis generate test stub files?

No. The stable mitosis commands include scaffolding for controllers, models, services, and migrations (make:controller, make:model, make:service, make:migration) and a test command that runs the suite, but there's no test-file generator. Test classes are plain PHPUnit classes you add under resources/tests/, following PSR-4 — see Testing.

Can a Monad app run on multiple servers?

Yes, if Session and Cache are configured with a shared backend — database or Redis — instead of their file-based drivers, which are single-node only by nature of local disk. See Deployment.

How does Monad compare to other full-featured PHP frameworks?

Most popular PHP frameworks are mature, full-featured, and come with large ecosystems. Monad is smaller by design: no service container, no ORM layer beyond a thin Schema/DB pair, fewer conventions to learn. It's built for solo developers and small teams who want direct control over less code — not a replacement for what a larger, batteries-included framework offers at bigger scale.

What PHP version does Monad require?

PHP 8.2 or newer.

What license is Monad released under?

MIT, for both monad/clarity and monad/skeleton. See License.