dqk42179 2014-06-18 13:46
浏览 39
已采纳

键入数组的提示内容

I've got a method that accepts an array of rules as an argument.

public function setRule($name, Array $rules) { ... }

The passed in array should only contain objects that implement the IRule interface, but since I can't type hint the content of an array I would like to know if there's maybe another way of doing it?

I would highly appreciate examples with your answers.

  • 写回答

2条回答 默认 最新

  • duandingyou3331 2014-06-18 13:52
    关注

    It is not possible in the function header, but you can do instanceof checks later on.

    Example:

    foreach ($rules as $r) {
      if ($r instanceof IRule) {
        do_something();
      } else {
        raise_error();
      }
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?