cekta/di
Composer 安装命令:
composer require cekta/di
包简介
psr/container implementation for humans
README 文档
README
A modern, high-performance PSR-11 Container implementation designed for developers who value simplicity and performance.
✨ Features
- 🚀 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
📦 Installation
composer require cekta/di
🚀 Quick Start
src/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);
📚 Documentation
🤝 Community
Join the Telegram chat for discussions in English or Russian.
统计信息
- 总下载量: 673
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 82
- 点击次数: 9
- 依赖项目数: 1
- 推荐数: 0
其他信息
- 授权协议: GPL-3.0-only
- 更新时间: 2019-06-07