假设你有一个类(class)
class View implements ViewInterface, TemplateInterface {
private $template;
public function setTemplate($template) {
$this->template = $template;
return $this;
}
}
当您记录 TemplateInterface
并到达 setTemplate($template)
方法时,您将什么作为其返回类型?
如果我将 View
作为返回类型,然后我有不同的类实现 TemplateInterface
,但这些类不是我的 API 的 View
类型文档可能是错误的。
您是否设置了 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!!!
*/
}
最佳答案
界面应如下所示:
interface TemplateInterface
{
/**
* @return TemplateInterface
*/
public function setTemplate($template);
}
和 View 类:
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;
}
}
关于php - 如何记录一个实现多个接口(interface)的类?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19077698/