Как вернуть состояние объекта? Объясню на примерах
Простой класс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 уже лежало значение "Переменная"?

21 Авг 2019 в 07:04
162 +1
0
Ответы
1

Чтобы передать объект 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.

20 Апр 2024 в 13:07
Не можешь разобраться в этой теме?
Обратись за помощью к экспертам
Гарантированные бесплатные доработки в течение 1 года
Быстрое выполнение от 2 часов
Проверка работы на плагиат
Поможем написать учебную работу
Прямой эфир