让我们说你有一个班级
class View implements ViewInterface, TemplateInterface {
private $template;
public function setTemplate($template) {
$this->template = $template;
return $this;
}
}
当您正在记录TemplateInterface
时,您来到setTemplate($template)
方法,您将其作为返回类型放下什么?
如果我将View
作为返回类型,然后我有不同的类实现TemplateInterface
不属于View
的类型,那么我的API文档就会出错。
您是否放下了View
,ViewInterface
,TemplateInterface
或其混合类型的返回类型?
namespace Views\Interfaces;
interface TemplateInterface {
/* --------------------------------- */
public function getTemplate();
/* ---------------------------------
* @args: void
*
* @return: String - The name of the template.
*/
/* ------------------------------------------ */
public function setTemplate($template);
/* ------------------------------------------
* @arg 1: (String $template) - The name of the template file.
*
* @return: Not sure yet!!!
*/
}
答案 0 :(得分:2)
界面应如下所示:
interface TemplateInterface
{
/**
* @return TemplateInterface
*/
public function setTemplate($template);
}
视图类:
class View implements ViewInterface, TemplateInterface {
private $template;
/**
* @return TemplateInterface
* or (maybe better)
* @return View (as it implements TemplateInterface and is more specialized)
*/
public function setTemplate($template) {
$this->template = $template;
return $this;
}
}