A modern, high-performance PSR-11 Container implementation designed for developers who value simplicity and performance.
- 🚀 Zero Runtime Overhead - All dependencies are resolved during compilation, not at runtime
- No runtime reflection - All dependency resolution happens during compilation
- Predictable performance - No dynamic analysis slowing down your application
- ⚡ OPcache Ready - Generated code works perfectly with PHP's opcode cache
- 🔧 Flexible Configuration - Mix autowiring with explicit configuration
- 📦 Full PSR-11 Compliance - Implements the standard Container Interface
- 🔄 Modern PHP Support - Works with Union Types, Intersection Types, DNF Types, and variadic arguments
- 🧩 Interface & Abstract Class Support - Full dependency injection for abstractions
- 🎯 High Code Quality - Rigorously tested with mutation testing
- ✅ Easy debugging - Generated container is plain PHP code you can read and understand
composer require cekta/disrc/Controller.php
<?php
namespace App;
class Controller {
}bin/build.php
<?php
require __DIR__ . './../vendor/autoload.php';
// Configure your dependencies.
$builder = new \Cekta\DI\ContainerBuilder(
containers: [\App\Controller::class],
fqcn: 'App\\Runtime\\Container'
);
// Generate the container
$code = $builder->compile();
file_put_contents(__DIR__ . '/../runtime/Container.php', $code);CLI: generate container
php bin/build.php
app.php
<?php
require __DIR__ . './vendor/autoload.php';
// Use it in your application
$container = new \App\Runtime\Container();
$controller = $container->get(\App\Controller::class);Join the Telegram chat for discussions in English or Russian.