В этой части вы узнаете что такое в PHP статические методы и свойства класса, да и вообще как с ними работать.
Что такое статические методы и свойство:
Это когда метод не принадлежит к объекту, но принадлежит классу, для вызова его не обязательно создавать объект и он никак не зависит от объекта.
Статичное свойство это тоже самое, что и метод, он тоже не зависит от объекта.
Зачем нужны статические методы и свойство в PHP:
Это полезно когда свойство или метод никак не будет изменятся не в каком объекте, к примеру, таким образом можно выводить какие нибудь ошибки или даже подсчёт всех объектов этого класса.
Как работать с статическими методами и свойствами в PHP:
Работать с этим очень просто, вам надо просто использовать ключевого слово static
.
Объявление статического метода и свойства в PHP:
Это делается очень просто.
1 2 3 4 5 6 7 8 9 10 | class User { // объявление статичного свойства public static $name = "Володя"; // объявление статичного метода public static function show_name () { // Вызов статичного свойства echo self::$name; } } |
Давайте теперь разберём этот код, в объявление статичного свойства нет не чего особо сложного, как и обычное свойство, только добавляем слово static
.
С методом такая же пурга, просто добавляем это слово.
Вызов внутри класса делается через оператор разрешения области видимости, и в отличие от обычного метода где используется слово this
, тут self
, в название свойства надо использовать знак доллара.
Вызов статического метода в PHP:
Теперь самое интересное как работает вызов статического метода в PHP, вне класса.
1 2 | // Вызов статичного метода User::show_name(); |
Как видите, нам надо просто использовать имя класса и оператор ::
, как можно понять, он просто выводит имя.
Статичное свойство выводится также, только в название нужно ещё вставлять знак доллара.
1 2 | // Вызов и вывод статичного свойства вне класса echo User::$name; |
Константы класса:
Константы это переменные или свойства которые нельзя изменить вообще не как, вылезет ошибка, но тем не менее она полезно, к примеру для каких то параметров внутри класса.
1 2 3 4 5 6 7 8 9 10 11 12 13 | class User { // объявление константы const name = "Володя"; // объявление статичного метода public static function show_name () { // Вызов константы echo self::name; } } // Вызов статичного метода User::show_name(); |
Единственное различие между статичным свойством и константой заключается в том, что не надо использовать знак доллара в начале названия и при вызове, также используется ключевое слово const
.
Надо ещё сказать, что названия константы принято писать заглавными буквами и может в себе хранить только простые данные, например, строки, числа и буловый тип данных, массивы уже нельзя.
Вывод:
В этой части учебника рассказывалось как работают в PHP статические методы и свойства класса, надеюсь вам это было полезно.