2016-08-24 2 views
0
class GrandClass { 
    public $data; 
    public function __construct() { 
     $this->someMethodInTheParentClass(); 
    } 
    public function someMethodInTheParentClass() { 
     $this->$data = 123456; 
    } 
} 

class MyParent extends GrandClass{ 
    public function __construct() { 
     parent::__construct(); 
    } 
} 

class Child extends MyParent { 
    // public $data; 
    public function __construct() { 
     parent::__construct(); 
    } 
    public function getData() { 
     return $this->data; 
    } 
} 

$a = new Child(); 
var_dump($a->getData()); 

PHP Примечание: Undefined переменной: данные в D: \ test.php в строке 7в PHP почему не работает

PHP Фатальная ошибка: Не удается получить доступ к пустой недвижимости в D: \ test.php в строке 7

+2

Try: $ this-> данные –

+2

использовать $ this-> данные не $ это -> $ данные –

+2

$ this-> данные вместо $ это -> $ данных –

ответ

4

обновление ваша функция someMethodInTheParentClass с использованием ниже $ this-> данные = 123456;

public function someMethodInTheParentClass() { 
     $this->data = 123456; 
    } 
+0

спасибо ~ очень ~! –

+0

приветствую друга, полезно помочь –

2
Use `$this->data = 123456; `instead of` $this->$data = 123456;` in below function 

public function someMethodInTheParentClass() { 
     $this->data = 123456; 
} 
+0

Вы можете немного поправить свой ответ, если сможете, и, возможно, отформатируйте свой ответ: – Epodax

+0

yaa .. определенно –

+0

спасибо ~ очень ~ ! –

0

Конструкторы в классах MyParent и Child не нужны.

Смежные вопросы