04-06-2015, 06:18 PM
instanceof ne t'impose en rien de connaitre le monde extérieur: c'est un opérateur, et au même titre que tout autre opérateur, tu peux le lire instanceof($object, $instanceName) au lieu de $object instanceof $instanceName si tu préfères. Je ne vois pas en quoi cela te gène.
Ajouter une classe ne casse en rien le code existant, puisque le typehinting t'assures que le paramètre implémente telle interface. Que le paramètre soit une nouvelle classe implémentant d'autres interfaces, tu t'en fiches complètement. Donnes-moi un cas concret avec du code où cette histoire d'instanceof gènerait. Donne-moi le cas-code où l'ajout de la classe va détruire mon code et mes instanceof.
Montre-moi 1) en quoi instanceof c'est "connaitre l'univers qui m'entoure", et 2) un code où ajouter des classes et interfaces comme précédemment casserait tout sans que je ne le vois.
Ajouter une classe ne casse en rien le code existant, puisque le typehinting t'assures que le paramètre implémente telle interface. Que le paramètre soit une nouvelle classe implémentant d'autres interfaces, tu t'en fiches complètement. Donnes-moi un cas concret avec du code où cette histoire d'instanceof gènerait. Donne-moi le cas-code où l'ajout de la classe va détruire mon code et mes instanceof.
Montre-moi 1) en quoi instanceof c'est "connaitre l'univers qui m'entoure", et 2) un code où ajouter des classes et interfaces comme précédemment casserait tout sans que je ne le vois.