Документация PHP


Область видимости

Ключевое слово "static"

Классы и объекты (PHP 5)

PHP Manual


::

"Paamayim Nekudotayim" или просто "двойное двоеточие". Используя эту лексему, программист может обращаться к константам, статическим или перегруженным свойствам или методам класса.

При обращении к этим элементам извне класса, программист должен использовать имя этого класса.

"Paamayim Nekudotayim" на первый взгляд может показаться странным словосочетанием для обозначения двойного двоеточия. Однако, во время создания Zend Engine версии 0.5 (который входил в PHP3), Andi и Zeev выбрали именно это обозначение. "Paamayim Nekudotayim" действительно значит "двойное двоеточие". На иврите. Просто это обозначение не менялось ни разу в течение всего времени разработки PHP.

Пример #1 Использование :: вне объявления класса

<?php
class MyClass {
  const 
CONST_VALUE 'Значение константы';
}
echo 
MyClass::CONST_VALUE;
?>

Для обращения к свойствам и методам в объявлении класса используются ключевые слова self и parent.

Пример #2 Использование :: в объявлении класса

<?php
class OtherClass extends MyClass {
  public static 
$my_static 'статическая переменная';

  public static function 
doubleColon() {
     echo 
parent::CONST_VALUE "\n";
     echo 
self::$my_static "\n";
  }
}

OtherClass::doubleColon();
?>

Когда дочерний класс перегружает методы, объявленные в классе-родителе, PHP не будет осуществлять автоматический вызов методов, принадлежащих классу-родителю. Этот функционал возлагается на метод, перегружаемый в дочернем классе. Данное правило распространяется на конструкторы и деструкторы, перегруженные и "волшебные" методы.

Пример #3 Обращение к методу в родительском классе

<?php
class MyClass {

  protected function 
myFunc() {
    echo 
"MyClass::myFunc()\n";
  }
}

class 
OtherClass extends MyClass {

  
/* Override parent's definition */
  
public function myFunc() {

    
/* But still call the parent function */
    
parent::myFunc();
    echo 
"OtherClass::myFunc()\n";
  }
}

$class = new OtherClass();
$class->myFunc();
?>


Область видимости

Ключевое слово "static"

Классы и объекты (PHP 5)

PHP Manual

SAPE все усложнил?

MainLink - простая и прибыльная продажа ссылок!

Последние поступления:

Размещена 10 августа 2020 года

Я по ТВ видел, что через 10 лет мы будем жить лучше, чем в Германии...
Я не понял, что это они с Германией сделать хотят?!

читать далее…

ТехЗадание на Землю

Размещена 14 марта 2018 года

Пpоект Genesis (из коpпоpативной пеpеписки)

читать далее…

Шпаргалка по работе с Vim

Размещена 05 декабря 2017 года

Vim довольно мощный редактор, но работа с ним не всегда наглядна.
Например если нужно отредактировать какой-то файл например при помощи crontab, без знания специфики работы с viv никак.

читать далее…

Ошибка: Error: Cannot find a valid baseurl for repo

Размещена 13 сентабря 2017 года

Если возникает ошибка на centos 5 вида
YumRepo Error: All mirror URLs are not using ftp, http[s] or file.
Eg. Invalid release/

читать далее…

Linux Optimization

Размещена 30 июля 2012 года

Prelink

читать далее…