依赖注入
PhpBoot 使用开源项目 PHP-DI 作为依赖注入的基础实现。
1. 手动注入
手动注入是只通过配置文件显式的指定注入方式。详见PHP-DI文档
2. 自动注入
2.1. 构造函数注入
class Books
{
/**
* @param LoggerInterface $logger 通过依赖注入传入
*/
public function __construct(LoggerInterface $logger)
{
$this->logger;
}
...
}
2.2. 属性注入
class Books
{
use EnableDIAnnotations; //启用通过@inject标记注入依赖
/**
* @inject
* @var DB
*/
private $db;
}
注意:PhpBoot 禁用了PHP-DI的 Annotation 注入方式,@inject 方式是 PhpBoot 实现的