私はJavaの世界から来て、Phpで同じ「簡単な」ことを試してみました.
不変のダミー データ オブジェクトがあります。
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;
}
}
このクラスのオブジェクトを配列に追加します。
$data= new BugTimeData($a, $b, $c, $d);
array_push($content, $data);
この配列を反復処理し、オブジェクトを読み取り、それらのメソッドにアクセスしたい:
foreach($time_prio_bug_content as $key => $value) {
var_dump($value->getStatus());
}
これはうまくいきます!しかし、私の IDE (Eclipse) は、 $value が type からのものであることを本当に知りませんBugTimeData
。したがって、パブリック メソッドに簡単にアクセスすることはできません。
質問:
$value を type からオブジェクトにキャストする方法はBugTimeData
?
Java では、これは非常に簡単で (配列を作成するときにオブジェクトの型を定義できるため、キャストは必要ないため)、簡単です。では、なぜこれが PHP で不可能なのだろうか?