Je lis sur les modèles de conception en PHP et je continue à voir la syntaxe suivante, par exemplenom de classe dans la méthode avec la variable
abstract class AbstractObserver {
abstract function update(AbstractSubject $subject_in);
}
ou
class PatternObserver extends AbstractObserver {
public function __construct() {
}
public function update(AbstractSubject $subject) {
}
}
(code fait partie de this exemple
où "AbstractSubject" est une autre classe abstraite.
Je suis habitué à définir des méthodes comme methodName($var)
, sans inclure de nom de classe, comme methodName(className $var)
. Alors, que fait réellement le nom de la classe dans une méthode? Ma meilleure supposition est qu'elle passe quelque chose comme une référence dans cette classe? Pouvez-vous m'expliquer ce que ça fait réellement?
Merci
Cela s'appelle [Type Hinting] (http://php.net/manual/en/functions.arguments.php#functions.arguments.type-declaration), et il définit le type de données que l'argument doit être –