Skip to content

Latest commit

 

History

History
35 lines (26 loc) · 1.96 KB

static-methods-and-properties.md

File metadata and controls

35 lines (26 loc) · 1.96 KB

Объявление свойств и методов класса статическими позволяет обращаться к ним без создания экземпляра класса.

Пример статического метода и свойсва.

<?php

class Foo {
    // статическое свойство
    static public $aStaticNumber = 0;
    // статический метод
    public static function aStaticMethod() {
        // ...
    }
}
?>

Поскольку доступ к статическому элементу осуществляется через класс, а не экземпляр объекта, вам не нужна переменная, которая ссылается на объект. Вместо этого используется имя класса, после которого указывается два двоеточия "::".

<?php

Foo::$aStaticNumber;
Foo::aStaticMethod();

?>

Статические элементы имеют ряд полезных особенностей:

  1. они доступны из любой точки сценария. Это означает, что можно вызывать функции, не передавая экземпляр класса от одного объекта другому или сохраняя экземпляр объекта в глобальной переменной.
  2. статическое свойство доступно каждому экземпляру объекта этого класса, поэтому можно определить значения, которые должны быть доступны всем объектам данного типа.
  3. позволяют не создавать экземпляр объекта ради вызова статической функции.