savelikan
28.07.2017 - 16:37
Привет всем! Подскажите, пожалуйста, возможно ли переустановить значение свойства родительского класса?
Например:
class aaa{
public $code = false;
public function show(){
echo $this->code;
}
}
class bbb extends aaa{
function __construct(){
$this->code = 555;
$this->show();
}
}
Тут будет пустая страница, потому, что $this->code = 555; доступен только в классе bbb.
Как изменить свойство подительського класса? Кроме использования статического свойства.
_____________
Одесса - мой город!)))
VeRTak
28.07.2017 - 16:48
savelikan
Если мне не изменяет память, parent:: поможет
savelikan
28.07.2017 - 16:50
Цитата (VeRTak @ 28.07.2017 - 14:48) |
savelikan
Если мне не изменяет память, parent:: поможет |
если свойство статическое - тогда сработает, а если не статическое - ошибка...
_____________
Одесса - мой город!)))
Игорь_Vasinsky
28.07.2017 - 17:26
наследование работает в другую сторону. это не верный подход - менять что либо у родителя.
_____________
HTML, CSS (Bootstrap), JS(JQuery, ExtJS), PHP, MySQL, MSSql, Posgres, (TSql, BI OLAP, MDX), Mongo, Git, SVN, CodeIgnater, Symfony, Yii 2, JiRA, Redmine, Bitbucket, Composer, Rabbit MQ, Amazon (SQS, S3, Transcribe), Docker
killer8080
28.07.2017 - 17:52
Цитата (savelikan @ 28.07.2017 - 16:37) |
Тут будет пустая страница, потому, что $this->code = 555; доступен только в классе bbb. |
на основании чего ты пришёл к таким бредовым выводам? По тестил бы для начала собственный код
Invis1ble
28.07.2017 - 17:55
Цитата (savelikan @ 28.07.2017 - 16:37) |
Тут будет пустая страница, потому, что $this->code = 555; доступен только в классе bbb. |
Уверен? Если создашь объект типа bbb, то выведется твой 555.
_____________
Профессиональная разработка на заказЯ на GitHub |
второй профиль
savelikan
28.07.2017 - 18:03
нашел решение)
просто в родительськом классе нужно создать функцию, например setData, которая измененяет свойство, а в дочернем классе просто вызвать ее и передать ей новое значение.
_____________
Одесса - мой город!)))
killer8080
28.07.2017 - 18:09
Цитата (savelikan @ 28.07.2017 - 18:03) |
нашел решение) |
решение чего? Вымышленной проблемы?