emerald / container
Container to webapp in php
dev-master
2023-01-22 18:13 UTC
Requires (Dev)
- phpunit/phpunit: ^9.5
This package is not auto-updated.
Last update: 2025-07-08 04:04:42 UTC
README
Overview
Container to create dependency injection to applications. Simple Api to be used in php language, using reflection operations. Provide support to routers and more applications.
Examples
Is Able Load Any Class
$container = new Container();
$instance = $container->get(Application::class);
$result = $instance->implemented;
//true
Is Able Load Class With Class Dependencies $container = new Container();
$instance = $container->get(ApplicationWithDependencies::class);
$instance->implemented;
//true
Is Able Load Class With Multi Class Dependencies
$container = new Container();
$instance = $container->get(ApplicationWithMultiDependencies::class);
$instance->anotherAppImplemented;
//true
$instance->appImplemented;
//true
Usable Interface On Container $container = new Container();
$container->register(ApplicationInterface::class, Application::class);
$instance = $container->get(ApplicationInterface::class);
echo $instance->implemented;
// true
Injection On Method
$container = new Container();
$instance = $container->get(ApplicationWithDependencies::class);
echo $instance->notImplemented;
// false
Injection On Method With Native Params
$container = new Container();
$instance = $container->get(ApplicationWithDependencies::class);
echo $instance->countNum(1);
// 1