emerald / container
用于将容器应用于 PHP web 应用
dev-master
2023-01-22 18:13 UTC
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is not auto-updated.
Last update: 2024-10-01 00:25:52 UTC
README
概述
容器用于创建依赖注入到应用程序中。简单 API,用于在 PHP 语言中使用,使用反射操作。提供对路由器和其他应用程序的支持。
示例
能够加载任何类
$container = new Container();
$instance = $container->get(Application::class);
$result = $instance->implemented;
//true
能够加载具有类依赖的类 $container = new Container();
$instance = $container->get(ApplicationWithDependencies::class);
$instance->implemented;
//true
能够加载具有多个类依赖的类
$container = new Container();
$instance = $container->get(ApplicationWithMultiDependencies::class);
$instance->anotherAppImplemented;
//true
$instance->appImplemented;
//true
在容器上可用的接口 $container = new Container();
$container->register(ApplicationInterface::class, Application::class);
$instance = $container->get(ApplicationInterface::class);
echo $instance->implemented;
// true
方法上的注入
$container = new Container();
$instance = $container->get(ApplicationWithDependencies::class);
echo $instance->notImplemented;
// false
带有本地参数的方法上的注入
$container = new Container();
$instance = $container->get(ApplicationWithDependencies::class);
echo $instance->countNum(1);
// 1