Bonjours à tous

j'essaie de construire une méthodeget () via un paramètre entré par l'utilisateur, ie



j'ai un 'objet inventeur qui a plusieurs propriétés comme nom prénom âgé, et à chaque fois pour récupérer une propriété on fait
$inventeur->getNomInventeur()
$inventeur->getPrenomInventeur()
$inventeur->getAgeInventeur()

alors dans mon cas je veux laisser l'utilisateur choisir ce qu'il veut afficher
display content(string $property)
$get="get".$property."()";

$inventeur->$get()
Donc l'appelle sera :
display content("NomInventeur");
Mais ça ne marche pas
Voilà le code
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
 
public function displayContent(string $property){
 
        $result = $this->pdo->prepare($query);
        $result->execute();
        $inventeurs = $result->fetchAll(PDO::FETCH_CLASS, Inventeur::class);
 
$get = "get" . $property . "()"; // va donner par exemple getNom_inventeur()
 
foreach ($inventeurs as $inventeur) {
 
 
echo  $inventeur->$get;          //Undefined property: App\Model\Inventeur::$getNom_inventeur()
//echo  $inventeur->{$get};          //Même erreur
//echo  $inventeur->{'getNom_inventeur'};          //Même erreur
 
//echo $inventeur->getNom_inventeur()  //Marche bien
}
}
et lorsque j'écris

Code : Sélectionner tout - Visualiser dans une fenêtre à part
 $inventeur->getNom_inventeur()
m'affiche bien un résultat

mais lorsque je concatène la propriété pour construire la methode getProperty() j'ai cette erreur
Undefined property: App\Model\Inventeur::$getNom_inventeur()
dans la class Inventeur j'ai cette méthode
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
 
    /**
     * Get the value of nom_inventeur
     */
    public function getNom_inventeur(): string
    {
        if ($this->nom_inventeur != null) {
            return $this->nom_inventeur;
        } else {
            return "---";
        }
    }
Merci en avance