Méthode PHP

Par Devdeb22, il y a 7 ans


Bonjour,

Bonjour j'ai une question bête mais qui mérite d'être posé.

En réalisant un tuto de Grafikart, j'ai le code qui suit :

<?php namespace Core\Entity; /** * */ class Entity { public function __get($key){ $method = 'get'.ucfirst($key); $this->$key = $this->$method(); return $this->$key; } }

à quoi correspond la $method() ?

Et pourquoi après le $this-> j'ai une "$" qui précéde le nom de la méthode ?

Je n'ai encore jamais vu cela quelque part.

4 réponses

Balsakup, il y a 7 ans

Si $key = toto, alors $method = getToto

Le nom de la méthode à appeler est stocké dans la variable $method

quenti77, il y a 7 ans

En gros en php on peut dynamiquement mettre le nom d'une variable ou méthode :

$title = 'Toto à la plage'; $other_title = 'Titi'; $name = 'title'; echo $title; // Toto à la plage echo $$name; // Toto à la plage echo $other_title; // Titi echo ${'other_'.$name}; // Titi

C'est pareil avec des méthode que l'on appel via la flèche '->'

Devdeb22, il y a 7 ans

Un grand merci

Digivia, il y a 7 ans

Tu as également la possibilité d'utiliser la fonction php call_user_function, si ça te paraît plus lisible...