Computer >> 컴퓨터 >  >> 프로그래밍 >> PHP

PHP foreach 루프에서 변수를 객체 타입으로 캐스팅하는 방법

PHP foreach 루프에서 변수를 객체 타입으로 캐스팅하기

변수를 특정 객체 타입으로 캐스팅해 IDE의 코드 힌트를 활성화하는 방법은 사용 중인 IDE에 따라 달라집니다. 예를 들어 Netbeans나 IntelliJ 계열 IDE에서는 주석에 @var 표기를 활용할 수 있습니다.

/* @var $variable ClassName */
$variable->

이렇게 작성하면 IDE는 '->' 연산자를 만나는 시점부터 '$variable'이 ClassName 클래스의 인스턴스임을 인식합니다. 덕분에 메서드 자동 완성, 속성 힌트 등 개발 생산성을 높이는 기능을 그대로 누릴 수 있습니다.

@return 어노테이션으로 배열 타입 명시하기

메서드에 @return 어노테이션을 추가하면 해당 메서드의 반환값이 ClassName 객체들의 배열임을 IDE에 알려줄 수 있습니다. 이렇게 선언된 데이터는 foreach 루프를 통해 각 객체의 값을 손쉽게 순회하며 접근할 수 있습니다.

function get_object_type() {
    return $this->values;
}
foreach( $data_object->values as $object_attribute ){
}

참고 사항

위 예제처럼 한 줄짜리 /* ... */ 주석도 대부분의 IDE에서 동작하지만, 표준 PHPDoc 형식인 /** ... */를 사용하면 더 넓은 호환성을 확보할 수 있습니다. 또한 최신 PHP 버전에서는 타입 선언(type declaration)을 직접 활용하는 것이 좋으며, IDE 힌트는 보조적인 수단으로 활용하는 편이 안전합니다.