The interface should look like:
interface TemplateInterface
{
/**
* @return TemplateInterface
*/
public function setTemplate($template);
}
And the view class:
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;
}
}