我来自 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;
}
}
A 将此类中的对象添加到数组中:
$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 中是不可能的?