ArrayAccess로 코드 완성(PhpStorm 소재)

3347 단어 PHPPhpStorm
ArrayAccess 를 사용하면 객체를 배열처럼 사용할 수 있습니다.

그 때, 몇개의 메소드를 추가합니다만, 반환값을 지정할 수가 있습니다.
이런 코드.
    /**
     * @param mixed $offset
     * @return Hi
     */
    public function offsetGet($offset) {
        ....
    }

그러자 코드 완성이 가능했다.



이 「 e() 」가 보완하고 싶은 메소드.

덧붙여 $this 에서는 안 된다.
PhpStorm 버전은 2019.1을 이용.

코드



일단 클래스와 코드.
class Hi implements ArrayAccess
{
    private $hi = '';
    public function e() {
        return $this->hi;
    }
    /**
     * @param mixed $offset
     * @return Hi
     */
    public function offsetGet($offset) {
        $this->hi .= $offset;
        return $this;
    }
    public function offsetSet($offset, $value) {}
    public function offsetUnset($offset) {}
    public function offsetExists($offset) {
        return false;
    }
}

$hi = new Hi();
echo $hi['h']['i']->e();

좋은 웹페이지 즐겨찾기