Может кто-нибудь объяснить мне, что лучше в отношении производительности в Php-Di?
С помощью annotations
или же plain constructor params
?
Аннотации = меньше символов для написания, но это хорошая практика?
class A {
/**
* @Inject
* @var B
**/
private $b;
use() {
$this->b->method();
}
}
Vs:
class A {
/** @var B **/
private $b;
public function __constructor(B $b) {
$this->b=$b;
}
use() {
$this->b->method();
}
}
Аннотации, как и автопроводка, основанная на рефлексии PHP, кэшируются. Поэтому не имеет значения, какой из них вы используете, вы получите те же характеристики.
Вы можете прочитать «Производительность» документации узнать больше о кешировании.
Других решений пока нет …