【发布时间】:2015-01-25 23:57:34
【问题描述】:
是否有可能在 php 中使用“数据类型”?
我有 Page 类,它有变量(我使用公共,在我的情况下我不需要私有,没有安全风险等)。我创建了一些我的类的对象,将它们添加到数组中,然后我通过 foreach 来处理它们,我想在 foreach 中 使用 迭代对象,就像我的 Page 对象一样。所以我想让我的 ide (PhpStorm) 知道数组中的对象是 Page 类型,所以他可以悄悄告诉我他的变量。
在 Java 中,我会执行类似 (Page) myObject 的操作。比 ide 知道“Juhuu 程序员说,myObject 应该是 Page 类型,所以我让他像使用 Page 对象而不是像某些一般对象那样工作”
下面的代码应该能更多地解释我的问题:
注意:
我知道我可以在 foreach page->$url; 里面写它会起作用。但是我怎么应该记住所有变量的名称。更有可能我不想记住它们或不必找到它们,我希望它们耳语。
class Page {
public $url;
public $array_of_titles;
//...
function __construct($url,$tit) {
$this->url = $url;
$this->array_of_titles = $tit;
}
}
$array_of_pages = array();
$url = "http://..."
$tit = {"aaa", "bbb", "ccc"}
$page = new Page($url, $tit);
$array_of_pages[] = $page;
//... add more pages to the array
foreach($array_of_pages as $page) {
$my_url = $page->url; //this words but don't whisper obviously
//because in $page could by any object
//$my_url = (Page)$page->url; //this I would do in java to say
//"Hey $page is typeof Page man, I wanna whisper its methods"
}
【问题讨论】:
标签: php phpstorm type-conversion