4
타입 힌팅을 사용해야하는지 여부에 관계없이, 부모에게 타입 힌트를주는 생성자에 자식 클래스를 전달할 때 PHP가 에러를 던지는 것을 피할 수있는 방법이 있는지 말해 줄 수 있습니까? 예 :부모/자식 형식 힌트 PHP 생성자?
class Headed extends Image { ... }
class Dimension {
function __construct(Image $image, $arg1, $arg2){ ... }
}
PHP 나 제공 :
PHP Error 4096: Argument 1 passed to Dimension::__construct() must be an instance of Image, instance of Headed given
는 자식 클래스이기 때문에 명백하게도, 이미지 것 이끄는 타입의 목적은, 그것은 준다 그래서 내 생성자를 같이 분석의 몇 가지 방법이있다 형식 힌트하지만 아이들을 허용합니까?
최근 버전 대신 PHP 5.2.5를 사용하고 있기 때문에 이것이 모두에게 불편을 끼쳐 드려 죄송합니다.
테스트 여기에 코드 : http://3v4l.org/. 버전 문제인지 여부를 알려줍니다. –
아마도 인터페이스가 있다면 Image 클래스를 ImageInterface로 구현 한 "ImageInterface"라고 말하면 Image 대신에 ImageInterface를 사용할 수 있습니다. – Sarel
@ JohnConde와 같은 3v4l.org를 사용했고 나에게 적합합니다 : http://3v4l.org/30dkZ (모든 PHP 5.x 버전에서) – gd1