A quoi ressemble ? DatabaseAuth
Bonjour,
Je suis entrain de suivre le tuto Authentification et je recontre un problème avec le Middleware qui n'arrive pas à instancier la class Auth dont il a besoin pour sa construction.
Pourtant j'ai bien la config qui lui dit de passer par DatabaseAuth pour instancier Auth...
Ce que je fais
Config.php
LoggedInMiddleware
Ce que j'obtiens
Fatal error: Uncaught DI\Definition\Exception\InvalidDefinition: Entry "Framework\Auth\LoggedInMiddleware" cannot be resolved: Entry "Framework\Auth" cannot be resolved: the class is not instantiable Full definition: Object ( class = #NOT INSTANTIABLE# Framework\Auth lazy = false ) Full definition: Object ( class = Framework\Auth\LoggedInMiddleware lazy = false __construct( $auth = get(Framework\Auth) ) ) in C:\Users\perro\Documents\MonFramework\vendor\php-di\php-di\src\Definition\Exception\InvalidDefinition.php on line 18
( ! ) DI\Definition\Exception\InvalidDefinition: Entry "Framework\Auth\LoggedInMiddleware" cannot be resolved: Entry "Framework\Auth" cannot be resolved: the class is not instantiable Full definition: Object ( class = #NOT INSTANTIABLE# Framework\Auth lazy = false ) Full definition: Object ( class = Framework\Auth\LoggedInMiddleware lazy = false __construct( $auth = get(Framework\Auth) ) ) in C:\Users\perro\Documents\MonFramework\vendor\php-di\php-di\src\Definition\Exception\InvalidDefinition.php on line 18
9 réponses
je suppose que DatabaseAuth ne peux pas être instancié car tu ne définie pas à PHP-DI comment lui fournir un objet qui implémente la SessionInterface
Si ça c'est dans la config placé à la racine du Framework.
J'ai quand même essayé de faire
mais ça change rien...
nan mais, SessionInterface est une interface n'est-ce pas ? une interface n'est PAS instanciable, il te faut une class qui implémente cette interface
je me trompe peut etre mais faut il pas mieux mettre
class DatabaseAuth implements SessionInterface
Hypario, je me suis posé la question en voyan Grafikart écrire ça mais bon apparemment là ça fonctionne pour lui.
J'ai essayé dans la sens inverse comme dit Antoine mais j'ai toujours le même problème :/
de ce que j ai vu sur le net il n y as pas des configurations a faire dans un fichier yaml a tout hasard ??(je precise je ne connais pas encore symfony) si je me trompe pas tu essaye de mettre en place un systeme d authentification ? et de memoire on doit implementer toute les methodes d une interface meme si on s en sert pas on peut mettre les classes vides pour eviter les problemes je crois.
Je n'utilise pas symfony, je regarderai la suite de la formation je crois qu'il change la manière dont l'authentification fonctionne donc je reviendrai donner une réponse si je la trouve plus tard.
Merci pour vos réponses