저는 자바 세계에서 왔고 PHP에서 "쉬운"일을 시도했습니다.이클립스는 PHP 배열의 객체 유형을 해결하지 않습니다.
$data= new BugTimeData($a, $b, $c, $d);
array_push($content, $data);
내가,이 배열을 반복 오브젝트 액세스를 읽을 수 :
class BugTimeData {
private $bugid = "";
private $startDate = "";
private $resolvedDate = "";
private $status = "";
private $weekends = "";
function __construct($bugid, $startDate, $resolvedDate, $status) {
$this->bugid = $bugid;
$this->startDate = $startDate;
$this->resolvedDate = $resolvedDate;
$this->status = $status;
}
function getBugId() {
return $this->bugid;
}
function getStartDate() {
return $this->startDate;
}
function getResolvedDate() {
return $this->resolvedDate;
}
function getStatus() {
return $this->status;
}
function getWeekendsBetween() {
return $this->weekends;
}
}
A는 배열에이 클래스에서 객체를 추가
가 나는 불변의 더미 데이터 개체가 그들의 방법 :foreach($time_prio_bug_content as $key => $value) {
var_dump($value->getStatus());
}
이것은 작동합니다! 하지만 내 IDE (Eclipse)는 $ 값이 유형 BugTimeData
인 것을 실제로 알지 못합니다. 따라서 공용 메서드에 쉽게 액세스 할 수 없습니다.
질문 : BugTimeData
유형의 개체에 $ 값을 캐스팅하는 방법은 무엇입니까?
자바에서는 (배열을 만들 때 객체의 유형을 정의 할 수 있으므로 캐스트가 필요하지 않기 때문에) 매우 간단합니다. 그래서 이것이 PHP에서 왜 가능하지 않은지 궁금합니다.
'$ value'는 이미 객체입니다. – BlitZ
@CORRUPT 물론 BugTimeData 유형은 아닙니다. – sk2212
PHP는 네이티브로하려는 것을 지원하지 않습니다. IDE 인 PhpStorm을 사용하면 주석을 사용하여 변수의 유형 (클래스 또는 프리미티브)을 선언 할 수 있습니다. – leftclickben