J'ai une petite question à laquelle je ne trouve pas de réponse sur Internet et je ne sais pas vraiment comment fonctionnent php et l'interface.
Le problème est donc que j'ai une instance de classe if(!variable). Mais ici, la classe vérifiée est une interface et doit être dans un tableau, vous pouvez voir dans le code suivant
action de classe abstraite { dernier appel de fonction publique (Bone $bone) { $sites = $this->getSites($bone); foreach ($sites en tant que $site) { si ($site instanceof Site) { lancer une nouvelle exception ("Entrée invalide"); } } } } classe BonesSites { fonction publique getSites(string $site) : tableau { if ($site === 'Egypte') { retour [ [ 'siteId' => 'name' => 'Le Caire', 'bone' => 'Os de T-Rex', ], [ 'siteId' => 'name' => 'Gizeh', 'bone' => 'Os de rapaces', ], [ 'siteId' => 'name' => 'Alexandrie', 'bone' => 'Os de bronchiosaure', ], ]; } return ['erreur' => 'Site introuvable !']; } } interface Os { fonction publique getName() : chaîne ; } site d'interface { }Existe-t-il un moyen de renvoyer une interface dans un tableau ?
Vous devez créer une classe supplémentaire appelée Site et renvoyer un tableau d'objets.
Renvoyez ensuite le tableau du site :