как назначить публичную переменную родительского класса в публичной переменной дочернего класса в php - PullRequest
0 голосов
/ 13 марта 2019

Я создал два класса, присваивая переменную общедоступного класса переменной дочернего класса, но она не работает должным образом. Но одна и та же переменная назначает работу внутри функции правильно. У меня не было правильной причины, почему так. Пожалуйста, проверьте ниже пример. *

      <?php
          Class pratice{
            public $a=4;
           }
         Class child extends pratice{
            //public $b =$this->a;//getting error with this assigment
            public function getValue(){
            $this->b = $this->a;//working fine with this
            echo $this->b;
           }
         }
        $obj = new child();
        $obj->getValue();
       ?>

Заранее спасибо.

1 Ответ

0 голосов
/ 13 марта 2019

Ну, $this относится к экземпляру класса, поэтому, пока вы не создадите экземпляр класса, $this недоступен.

Вы должны будете сделать это в конструктор , когда он может ссылаться на себя в нестатическом контексте.

class Child extends Practice
{

    public $b;

    public function __construct()
    {
        $this->b = $this->a;
        echo $this->b;
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...