Nan mais je t'ai dis que tu pouvais typehinter ta méthode, je t'ai même donné le lien direct dessus. Dans le dernier exemple de code, j'ai changé la façon dont le Barman réagit suivant si l'appeleur est Religieux ou non. Ma méthode est typehinté car elle accepte un certain type d'objet, et elle instanceof car son algorithme interne diffère suivant ce qui l'appelle. Ton areYou* n'est d'ailleurs qu'une réécriture de instanceof.
Mélange pas le débat du "le typehint c'est bien ou mal" avec le débat actuel qui est "le typehint dit je gère quoi, mais la méthode en interne peut bien faire des instanceof si elle veut renvoyer différentes réponses suivant le genre de l'objet".
En PHP7, les arguments qui en ont besoin seront typés (si ma méthode accepte n'importe quoi, grand bien lui fasse, je ne vais pas la typehinter de force ), de même pour les retours.
East, l'idée est peut-être attrayante, mais si en y réfléchissant tu finis par tomber sur des cas impossibles, tu seras prêt à renoncer à East? Juste histoire de savoir si on est dans une optique de croyance ou non...
Mélange pas le débat du "le typehint c'est bien ou mal" avec le débat actuel qui est "le typehint dit je gère quoi, mais la méthode en interne peut bien faire des instanceof si elle veut renvoyer différentes réponses suivant le genre de l'objet".
En PHP7, les arguments qui en ont besoin seront typés (si ma méthode accepte n'importe quoi, grand bien lui fasse, je ne vais pas la typehinter de force ), de même pour les retours.
East, l'idée est peut-être attrayante, mais si en y réfléchissant tu finis par tomber sur des cas impossibles, tu seras prêt à renoncer à East? Juste histoire de savoir si on est dans une optique de croyance ou non...