За последние 24 часа нас посетил 40991 программист и 1283 робота. Сейчас ищут 1316 программистов ...

Ключевое слово parent

Тема в разделе "PHP для новичков", создана пользователем machetero, 28 авг 2015.

  1. machetero

    machetero Активный пользователь

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    Зачем нужен parent ? Если у объекта класса потомка к методам родительского класса итак можно обращаться как к своим через ->. Просто устаревший способ ?
     
  2. [vs]

    [vs] Суперстар
    Команда форума Модератор

    С нами с:
    27 сен 2007
    Сообщения:
    10.559
    Симпатии:
    632
    нет

    Добавлено спустя 1 минуту 57 секунд:
    Код (PHP):
    1. class a {
    2.  static $x = 1;
    3. }
    4. class b extends a {
    5.  static $x = 2;
    6.  static function test() {
    7.   var_dump(self::$x);
    8.   var_dump(parent::$x);
    9.  }
    10. }
    11.  
    12. b::test(); 
    Добавлено спустя 6 минут 57 секунд:
    Более важно, что вызов метода через parent открывает доступ к приватным свойствам родителя (при условии, что метод описан в родителе. Описан ли он в потомке, не имеет значения).

    Код (PHP):
    1. class a {
    2.  private $x = 2;
    3.  
    4.  function test() {
    5.    echo $this->x * 2;
    6.  }
    7. }
    8.  
    9. class b extends a {
    10.  function test() {
    11.   echo $this->x * 2;
    12.   parent::test();
    13.  }
    14.  
    15. }
    16.  
    17. $o = new b;
    18. $o->test(); 
     
  3. machetero

    machetero Активный пользователь

    С нами с:
    25 окт 2014
    Сообщения:
    499
    Симпатии:
    21
    А всё понял спасибо !