我正在写一点自制ORM(学术兴趣)。我试图坚持TDD概念作为培训练习,并且作为该练习的一部分,我正在为API开发文档,以便开发课程。PHP OOP:每个参数类型的唯一方法?
案例 - 我正在研究一个经典的“getCollection”类型的映射类。我希望它能够为特定用户检索资产X的集合(比方说博客文章),还可以基于任意数值数组获取集合。所以 - 你可能喜欢这些
$User = $UserMapper->load(1);
$ArticleCollection = $ArticleMapper->getCollection(range(10,20));
$ArticleCollection = $ArticleMapper->getCollection($User);
$ArticleCollection = $ArticleMapper->getCollection($User->getId());
因此,任何一个的方法,以书面形式对getCollection方法的文档 - 我要声明的文档块的@param变量。对每个参数类型有一个唯一的方法会更好吗?还是有一种方法可以根据参数类型委托给正确的内部方法/类?
感谢,我很欣赏这个答案,并且非常接近我最初的实现。我很想知道的是,从面向对象的最佳实践角度来看,使用独特的方法re:责任更好吗? – sunwukung 2010-05-07 15:03:00
嗯,好点:http://php.net/manual/en/language.oop5.typehinting.php我会从我的答案中删除错误'int'。 – artlung 2010-05-07 15:20:43