Когда я запускаю следующий код (стандартное внедрение зависимостей):
use Khill\Lavacharts\Lavacharts;
class MainController extends AbstractController {
protected $lavacharts;
function __construct(Lavacharts $lavacharts) {
$this->lavacharts = $lavacharts;
}
Я получаю ошибку:
Cannot autowire service "DefaultController":
argument "$lavacharts" of method "MainController::__construct()"
references class "Khill\Lavacharts\Lavacharts" but no such
service exists. You should maybe alias this class to the
existing "lavacharts" service
Итак, я добавил псевдоним для службы lavachart в моем services.yml
, который является пакетом поставщика, например:
Khill\Lavacharts\Lavacharts\: "@lavacharts"
Вот как поставщик lavacharts
определяет поставщика:
parameters:
khill.lavacharts.class: Khill\Lavacharts\Lavacharts
khill.lavacharts.twig: Khill\Lavacharts\Symfony\Bundle\Twig\LavachartsExtension
services:
lavacharts:
class: "%khill.lavacharts.class%"
lavacharts.twig_extension:
class: "%khill.lavacharts.twig%"
public: false
arguments: ['@lavacharts']
tags:
- { name: twig.extension }
Но это не работает, и я продолжаю получать ту же ошибку, хотя у меня есть ощущение, что я создал ожидаемый псевдоним (на основе официальной документации ). Чего мне не хватает?