|
Оператор разрешения области видимости (::)Оператор разрешения области видимости (также называемый "Paamayim Nekudotayim") или просто "двойное двоеточие" - это лексема, позволяющая обращаться к статическим свойствам, константам и перегруженным свойствам или методам класса. При обращении к этим элементам извне класса, необходимо использовать имя этого класса. Начиная с версии PHP 5.3.0, стало возможным обратиться к классу с помощью переменной. Значение переменной не должно быть ключевым словом (например, self, parent или static). "Paamayim Nekudotayim" на первый взгляд может показаться странным словосочетанием для обозначения двойного двоеточия. Однако, во время создания Zend Engine версии 0.5 (который входил в PHP3), команда Zend выбрала именно это обозначение. Оно на самом деле значит "двойное двоеточие" - на иврите! Пример #1 Использование :: вне объявления класса
<?php Для обращения к свойствам и методам внутри самого класса используются ключевые слова self, parent и static. Пример #2 Использование :: внутри объявления класса
<?php Когда дочерний класс перегружает методы, объявленные в классе-родителе, PHP не будет осуществлять автоматический вызов методов, принадлежащих классу-родителю. Этот функционал возлагается на метод, перегружаемый в дочернем классе. Данное правило распространяется на конструкторы и деструкторы, перегруженные и "магические" методы. Пример #3 Обращение к методу в родительском классе
<?php См. также некоторые примеры статических вызовов. |
|