Как вернуть состояние объекта? Объясню на примерах Простой классclass Example { public $variable; public function foo() { //some code } } Его объект$obj = new Example(); $obj->variable = "Переменная"; Какой то метод, который принимает в качестве аргумента объект класса Example//some code public function method(Example $obj) { //some code } //some code Как в method(Example $obj) передать объект Example c тем состоянием, которое мы получили после работы с этим объектом(в нашем случае чтобы в свойстве $obj->variable уже лежало значение "Переменная"?
Чтобы передать объект Example со всеми изменениями, которые были сделаны с ним во время работы с ним, вам нужно просто передать сам объект в метод method. Поскольку объекты передаются по ссылке в PHP, любые изменения, сделанные с объектом в методе, будут отражаться и на объекте за пределами метода.
Пример:
class Example { public $variable; public function foo() { $this->variable = "Переменная"; } } $obj = new Example(); $obj->foo(); // вызываем метод foo, который изменяет свойство $variable объекта $otherObj = new Example(); function method(Example $obj) { echo $obj->variable; // выводит "Переменная" } method($obj); // передаем измененный объект Example в метод
Таким образом, в методе method вы увидите измененное значение $obj->variable, которое было установлено в методе foo объекта $obj.
Чтобы передать объект Example со всеми изменениями, которые были сделаны с ним во время работы с ним, вам нужно просто передать сам объект в метод method. Поскольку объекты передаются по ссылке в PHP, любые изменения, сделанные с объектом в методе, будут отражаться и на объекте за пределами метода.
Пример:
class Example {public $variable;
public function foo() {
$this->variable = "Переменная";
}
}
$obj = new Example();
$obj->foo(); // вызываем метод foo, который изменяет свойство $variable объекта
$otherObj = new Example();
function method(Example $obj) {
echo $obj->variable; // выводит "Переменная"
}
method($obj); // передаем измененный объект Example в метод
Таким образом, в методе method вы увидите измененное значение $obj->variable, которое было установлено в методе foo объекта $obj.