За последние 24 часа нас посетили 52649 программистов и 1764 робота. Сейчас ищут 870 программистов ...

Что означает "static" в классе?

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

  1. alex455

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

    С нами с:
    27 май 2011
    Сообщения:
    63
    Симпатии:
    0
    PHP:
    1. <?php
    2.  
    3. class A {
    4.  public static function who () {
    5.   echo 'something';
    6.  }
    7.  public static function test () {
    8.   static::who(); // что здесь означает "static"? Если бы это было имя класса и его метода "who()", было бы понятно. Если подразумевается вызов именно статического метода, то не проще ли вызвать его через его имя, без указания "static"?
    9.  }
    10. }
    11.  
    12. ?>
     
  2. tommyangelo

    tommyangelo Старожил

    С нами с:
    6 дек 2009
    Сообщения:
    2.549
    Симпатии:
    0
    Адрес:
    Мариуполь
    тут надо вызывать через self::who();
     
  3. Михаил

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

    С нами с:
    12 июл 2009
    Сообщения:
    545
    Симпатии:
    0
    Адрес:
    Bielarus
  4. igordata

    igordata Суперстар
    Команда форума Модератор

    С нами с:
    18 мар 2010
    Сообщения:
    32.408
    Симпатии:
    1.768
    то что метод who можно вызывать не создавая экземпляра класса =) как сказано через self::who() изнутре и как A::who() снаружи.