class Example1
{
/**
* Will set this property with the
* value in the DI container
* that is registered with 'DEPENDENCY_ID'
*/
#[Inject("DEPENDENCY_ID")]
public string $property;
}
class Example2
{
/**
* Will set this property with the
* value in the DI container
* that is registered with the claass name
* in the type hint
*/
#[Inject]
public SomeDependency $property;
}
class Example3
{
/**
* Will ignore protected properties.
*/
#[Inject]
protected SomeDependency $property;
/**
* Will ignore private properties.
*/
#[Inject]
private SomeDependency $property;
}
$injectee = new Example1();
(new PropertyInjector($psr11Container))->inject($injectee);
$injectee->property === $psr11Container->get("DEPENDENCY_ID"); // true
Source Code Size * | Memory Usage |
---|---|
2300 B | 5.5 kB |
- Note: Does not include comments.