web-dev-qa-db-fra.com

Symfony 4: "Autowire: vous devez configurer sa valeur explicitement."

Je commence à travailler avec Symfony4 et je rencontre l'erreur suivante lorsque j'essaie d'exécuter mon serveur: Impossible de câbler automatiquement le service "App\Controller\CharacterInformation": l'argument "$ région" de la méthode "__construct ()" est "chaîne" avec indication de type, vous devez configurer sa valeur explicitement.

Comment j'instancie ma classe:

 /**
 * @Route("/")
 * @return Response
 */
function mainPage() {
    $characterInformation = new CharacterInformation('eu');
    return new Response($characterInformation->getCharacter());
}

Le constructeur de CharacterInformation:

 /**
 * @var int
 */
public function __construct(string $region) {
        $this->apiInformation = new ApiContent($region);
}

Le constructeur d'ApiContent:

    public function __construct(string $region) {
    $apiToken = new ApiToken($region);
    $this->token = $apiToken->getToken();
    $this->region = $apiToken->getRegion();
}

Merci pour ton aide

6
user10562377

Essayez de définir les informations de câblage automatique dans config/services.yaml . Comme:

#app.myservice.config:
    App\Controller\CharacterInformation:
        arguments:
            $region: "%region%"

Vérifiez toutes les informations dans Définition automatique des dépendances des services (câblage automatique)

1
Dmytro