Изменить значение переменной родительского класса в __construct()

265
09 декабря 2017, 09:13

Здравствуйте. Есть код

class class1{
    public $name='string';
}
class class2 extends class1{
    function __construct(){
        self::$name ='class2'; /*Вот где-то тут проблема*/
        echo $name;
    }
}
$one = new first();

Как при создании нового объекта Class2 переприсвоить переменную родительского класса Class1 и вывести его значение?

Чтобы в результате вывелась строка "class2"?

Answer 1

Не совсем понял к чему в вашем примере класс first, но если это опустить получается проблема в том что вы пытаетесь обратиться к свойству как статическому, хотя оно таким не является, попробуйте следующий вариант:

class class1{
    public $name='string';
}
class class2 extends class1{
    function __construct(){
        $this->name = 'class2'; // Правильное обращение к свойству класса.
        echo $this->name;
    }
}

Так же советую почитать Введение в ООП чтобы понимать что вообще тут происходит.

READ ALSO
Как переделать правильно скрипт от facebook на vk

Как переделать правильно скрипт от facebook на vk

Добрый вечер возникла проблема кто то может подскажет как её решить есть примерный скрипт авторизации через фейсбук надо переделать под...

348
Как добавить свои custom классы?

Как добавить свои custom классы?

Привет есть такой код от WooCommerce

237
php вывод содержимого через if else

php вывод содержимого через if else

У меня проблемаМне нужно, чтобы записи отображались в категориях, кроме тех что я ввел

225