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
Точно так же. –
* Если я меняю функцию, добавьте [...] Это работает отлично. Итак, что не так? * Это на вас, чтобы рассказать нам. Что вы ожидаете от происходящего и что происходит? Получаете ли вы какое-либо сообщение об ошибке и т. Д. Из того, что я вижу, вы должны вызывать функцию как $ this-> add (...) 'не просто' add (...) '. –