Question pour du PHP-East: si je reprends le thermomètre, se coderait-il bien comme ceci:
Mais le défaut de typage se reporte sur thereIsATemperature($temperature), auquel on peut passer ce qu'on veut (int, string, ou objet).
J'ai essayé en passant par un bean Temperature, mais soit on se retrouve avec le même problème (on passe un "mixed" au constructeur de Temperature), soit on modifie les attributs publics de Temperature.
J'ai raté quelle marche? Temperature ou thereIsATemperature() doivent elles-mêmes vérifier les typages de leurs paramètres d'entrée ?
interface IThermometre {
public pushTemperature(ITemperatureReceiver $receiver);
}
interface ITemperatureReceiver {
public thereIsATemperature($temperature);
}
interface ITemperature {
}
class Thermometre implements IThermometre {
public pushTemperature(ITemperatureReceiver $receiver) {
$receiver->thereIsATemperature($this->temperature);
}
}
Mais le défaut de typage se reporte sur thereIsATemperature($temperature), auquel on peut passer ce qu'on veut (int, string, ou objet).
J'ai essayé en passant par un bean Temperature, mais soit on se retrouve avec le même problème (on passe un "mixed" au constructeur de Temperature), soit on modifie les attributs publics de Temperature.
J'ai raté quelle marche? Temperature ou thereIsATemperature() doivent elles-mêmes vérifier les typages de leurs paramètres d'entrée ?