4
在Java中,我可以通過一個物體直參數傳遞一個對象作爲參數,在PHP
public int foo (Bar bar)
{
... call the methods from Bar class
}
所以,我該怎麼做同樣的事情用PHP。感謝 這是我的代碼:
class Photo
{
private $id, $name, $description;
public function Photo($id, $name, $description)
{
$this->id = $id;
$this->name = $name;
$this->description = $description;
}
}
class Photos
{
private $id = 0;
private $photos = array();
private function add(Photo $photo)
{
array_push($this->photos, $photo);
}
public function addPhoto($name, $description)
{
add(new Photo(++$this->id, $name, $description));
}
}
$photos = new Photos();
$photos->addPhoto('a', 'fsdfasd');
var_dump($photos); // blank
如果我改變函數添加
function add($name, $description)
{
array_push($this->photos, new Photo(++$this->id, $name, $description));
}
它的工作原理pefectly。那麼,什麼是錯的?
您是否試過這樣做?如果是這樣,我們可以看到代碼嗎?什麼地方出了錯?你有錯誤嗎?另請參閱[關於對象的PHP手冊](http://php.net/language.types.object)和[函數參數](http://php.net/functions.arguments)。 – Charles 2012-02-17 17:15:54
完全相同的方式。 – 2012-02-17 17:16:08
*如果我改變功能添加[...]它完美的工作。那麼,什麼是錯的?*這是你告訴我們的。你期望發生什麼,發生了什麼?你是否收到任何錯誤信息等等。從我所看到的,你應該調用函數作爲'$ this-> add(...)'而不僅僅是'add(...)'。 – 2012-02-17 17:54:52