Cela peut être une question stupide, mais je vais essayer quand même.Que faire avec une méthode qui peut être utilisée dans plusieurs classes?
Ceci est pour PHP5. Disons que j'ai deux classes Member.class.php
et Forum.class.php
et ont un method appelé returnDate($queryDate)
qui peut être utilisé dans les deux classes - pour la classe membre, il retourne les utilisateurs date de dernière consultation et pour la classe de forum, il renvoie la dernière réponse. Par exemple, Forum post: last answered **10 mins ago**.
En supposant que c'est une mauvaise idée de mettre cette méthode dans les deux classes pour éviter la duplication, je me demande si une classe d'interface serait utile? Ou est-ce que je fais quelque chose d'évident comme créer une classe pour le site pour le mettre en e.g. Website.class.php
. Juste essayer de poursuivre ma compréhension, merci.
C'est un peu subjectif. Je ne pense pas que ce soit mauvais de classer la méthode en deux catégories distinctes, car il est probable qu'elles effectuent un travail sensiblement différent pour collecter l'information. Si vous voulez centraliser quelque chose vous pouvez faire un String.class.php qui a des méthodes statiques pour traduire la valeur retournée dans une chaîne localisée (en la faisant dynamiquement dire "il y a 2 minutes" ou "3 hours ago" basé sur des règles centralisées) . –
@dpk: La case de réponse est un peu plus bas: P –
Ouais. Je n'y ai pas répondu car je ne pense pas qu'elle ait vraiment une "bonne" réponse. Je pourrais aller dans toutes les autres options, comme sous-classer à la fois d'une classe commune ou écrire une interface (comme il parle) mais c'est vraiment tout dépendant de l'environnement. (De plus, je voulais ajouter un peu plus à mon commentaire, mais Stackoverflow.com piège à tort "retour" en entrant du texte dans ces boîtes de textarea.J'ai donc abandonné et je l'ai laissé.) –