J'écris un peu d'ORM homebrew (intérêt académique). J'essaie d'adhérer au concept TDD en tant qu'exercice de formation, et dans le cadre de cet exercice, j'écris de la documentation pour l'API au fur et à mesure que je développe la classe. Exemple de cas - Je travaille sur une classe classique de mappeur de type "getCollection". Je veux qu'il soit capable de récupérer des collections d'actifs X (disons des billets de blog) pour un utilisateur spécifique, et aussi des collections basées sur un tableau arbitraire de valeurs numériques. Donc - vous pourriez avoir une méthode comme une de cesPHP OOP: Méthode unique par type d'argument?
$User = $UserMapper->load(1);
$ArticleCollection = $ArticleMapper->getCollection(range(10,20));
$ArticleCollection = $ArticleMapper->getCollection($User);
$ArticleCollection = $ArticleMapper->getCollection($User->getId());
, par écrit la documentation relative à la méthode getCollection - Je veux déclarer la variable @param dans le DocBlock. Est-il préférable d'avoir une méthode unique pour chaque type d'argument, ou est-il acceptable d'avoir une méthode qui délègue à la méthode/classe interne correcte en fonction du type d'argument?
merci, J'apprécie la réponse, et très proche de ma mise en œuvre initiale. Ce que je suis curieux de savoir est, d'un point de vue des meilleures pratiques de la POO, est-il préférable d'utiliser une méthode unique en ce qui concerne les responsabilités? – sunwukung
Ah, bon point: http://php.net/manual/fr/language.oop5.typehinting.php Je vais supprimer cet intendant errant de ma réponse. – artlung