PHP Передача по ссылке на функцию для того же объекта в классе - PullRequest
0 голосов
/ 19 июня 2020

Я пытаюсь изменить созданный объект, передав его из класса в другую функцию. В моем сценарии ниже я ожидаю, что результат будет 2, но я получаю «Неперехваченную ошибку».

------------------------------
Index.php
------------------------------
include "class.php";
include "function.php";

$number = new a();

$number->add(1);
echo $number->display();

$number->add_helper();
echo $number->display();

------------------------------
function.php
------------------------------
function get_help(&$numb) {
    $numb->add(1);
}

------------------------------
class.php
------------------------------

class a {

    protected $var;

    public function add($numb) {
        $this->var .= $numb;
    }

    public function display() {
        return $this->var;
    }

    public function add_helper() {
        get_help($this->var);
    }
}

------------------------------

Когда я запускаю функцию add_helper, именно здесь возникают ошибки. Я ожидаю, что результат будет 2.

Заранее спасибо за помощь.

Will

1 Ответ

0 голосов
/ 19 июня 2020

Благодаря ответу Магнуса Эрикссона ...

Я передавал строку, когда мне нужно было передать объект.

функция add_helper в моем классе действительно должна быть:

    get_help($this);

вместо $ this-> var.

Спасибо, Магнус.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...