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

PHP Traversable(순회 가능) 인터페이스 완벽 이해하기


개요

Traversable은 추상 인터페이스이기 때문에 어떤 클래스에서도 직접 구현할 수 없습니다. 일반적으로 PHP에서는 Traversable을 확장하는 Iterator 또는 IteratorAggregate 인터페이스를 사용하여 해당 클래스가 foreach 문으로 순회 가능한지 확인합니다.

일부 내장 클래스는 이 인터페이스를 구현하고 있어 별도의 Iterator 인터페이스를 구현하지 않아도 foreach 문에서 바로 사용할 수 있습니다. 또한 Traversable은 추상 인터페이스이므로 그 안에 어떠한 메서드도 포함되어 있지 않습니다.

문법

Traversable {
    //
}

Traversable을 확장하는 IteratorAggregate나 Iterator 인터페이스를 구현할 때는 반드시 implements 절에 해당 인터페이스 이름을 먼저 명시해야 합니다.

핵심 정리

  • 직접 구현 불가: Traversable은 추상 인터페이스이므로 클래스에서 직접 implements할 수 없으며, 대신 Iterator나 IteratorAggregate를 통해 간접적으로 구현합니다.
  • 메서드 없음: 인터페이스 자체에는 선언된 메서드가 없으며, 순회 가능 여부를 나타내는 마커 역할을 합니다.
  • foreach 지원 확인: instanceof 연산자로 객체가 Traversable인지 검사하면 foreach로 순회할 수 있는지 판단할 수 있습니다.
  • 내장 클래스 활용: ArrayObject, ArrayIterator 등 일부 내장 클래스는 이미 순회 가능하도록 설계되어 있습니다.