Это интересное простое в реализации свойство, которое предаёт гибкость в ООП. Вроде бы всё просто, но различие схем использования может запутать. Статические свойства ООП используются для работы с классами без инициализации объектов. Инициализированные объекты также могут использовать статические свойства ООП. self::, parent::, static:: помогают использовать статические свойства ООП в PHP. Данные операторы могут ввести себя одинаково. Всё зависит от условий использования. Основное различие опреаторов self::, parent::, static:: это среда(scope) их исполинения. Заметьте, что не только то откуда вызывается статический метод, или свойство но и то какие зависимые свойства классов они используют.
self:: - Среда определения, класс где метод, свойство были объявлены.
parent:: - Среда родительского класса.
static:: - Среда где происходит вызов метода, свойства.
Всё начиналось с перевода документации. Перевести документацию доходчиво не получилось. Материал выложил так, как понял. Примеры смотрите в документации. __CLASS__, forward_static_call(), get_called_class() помогают в определении среды исполнения
Комментариев нет:
Отправить комментарий