Доступ к свойству внутри функции, определенной в методе в PHP - PullRequest
0 голосов
/ 25 октября 2018

Мне нужно вызвать функцию внутри метода.Эта функция требует доступа к частной собственности.Этот код:

class tc {
  private $data=123;

  public function test() {
    function test2() {
      echo $this->data;
    }

    test2();
  }
}

$a=new tc();
$a->test();

возвращает следующую ошибку:

Неустранимая ошибка: использование $ this, когда нет в контексте объекта в ... on line ...

Использование PHP 5.6.38.Как я могу это сделать?

1 Ответ

0 голосов
/ 25 октября 2018

Не знаю, зачем вам объявлять функцию внутри метода, но если это именно то, что вы хотите сделать, то передайте закрытый член в качестве параметра этой функции.

<?php 

class tc {
  private $data=123;

  public function test() {
    function test2($data) {
        echo $data;
    }

    test2($this->data);
  }

}

$a=new tc();
$a->test();
...