@return中的许多不同类。如何避免全部写入?

时间:2014-04-21 17:33:08

标签: php phpdoc

我有一个功能:

$model = $this->model('aNameOfTheModel');

是否存在另一种PHPDocing model()的方法,而不是这个方法:

/**
 * @return A|B|C|D|E|F model(string $name)
 */

A,B,C ......类有不同的方法(例如A::getMaleUsersB::whenPartyStarts)。我想避免在@return中写下所有A,B,C ......。

1 个答案:

答案 0 :(得分:0)

通常,您将在每个类中定义model()函数。然后你会称之为该类的模型功能。 (通常模型函数是静态的,因为它们将对象实例化为单例,但我想这完全取决于你正在做什么)

然后你可以单独PHPDoc每个类,并通过扩展具有父模型函数的类来运行相同的底层代码。然后每个类中的模型方法可能如下所示:

class foo extends bar {

  /** @return foo */
  public static function model()
  {
    return parent::model('foo');
  }

}

然后在课堂上你的扩展你有一个像这样的模型函数:

class bar {

  public static function model($className)
  {
    //todo: code for whatever you do to get your model class object
    return $model
  }

}