Opulence - A modern framework for modern PHP

$router->get('/welcome/:name', function (string $name) {
    return "Welcome to Opulence, $name!";


composer create-project opulence/project --prefer-dist



Create extendable, cacheable views using Fortune


Use middleware to manipulate your HTTP requests and responses


Use plain-old PHP objects and the repository and data mapper patterns for your ORM


Write your own powerful console commands using Apex

Why Use Opulence?

Loosely coupled

  • Automatically instantiate controllers with the DI container.
  • 22 out of 24 components have 0 dependencies.

Doesn't bleed into your code

  • Use plain-old PHP objects as controllers.
  • Use plain-old PHP objects in its ORM.
  • Clear separation of application code and domain logic.

No magic, just SOLID code

  • No magic under the hood. The internals are easy to understand and extend.
  • All Opulence components are unit-testable.
  • No "God" classes.


  • Written for PHP 7.3+.
  • Handles ~1000 requests/second on a simple 2GB dual-core server.


Opulence was written by David Young, a math and computer science graduate from the University of Illinois at Urbana-Champaign.