2

クラスがあるとしましょう

class View implements ViewInterface, TemplateInterface {

     private $template;

     public function setTemplate($template) {
         $this->template = $template;
         return $this;
     }
}

その後、ドキュメントを作成TemplateInterfaceしてsetTemplate($template)メソッドに到達するとき、その戻り値の型として何を入力しますか?

View戻り値の型として配置し、後で型TemplateInterfaceではない を実装する別のクラスを作成したView場合、API ドキュメントが間違っている可能性があります。

ViewViewInterfaceTemplateInterface、またはそれらの混合の戻り値の型を書き留めますか?

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!!!
    */

}
4

1 に答える 1

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;
     }
}
于 2013-09-29T11:50:58.713 に答える