Обращение к элементам классов в PHP5 PDF Печать E-mail

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

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

Обозначение "двойное двоеточие" (::) не менялось ни разу в течение всего времени разработки PHP.

Использование :: вне объявления класса

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

Использование :: в объявлении класса

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

<?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 не будет осуществлять автоматический вызов методов, принадлежащих классу-родителю. Этот функционал возлагается на метод, перегружаемый в дочернем классе. Данное правило распространяется на конструкторы и деструкторы, перегруженные и другие методы.

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

<?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();
?>

Все специфические возможности, которыми обладает оператор :: в PHP5, не являются доступными в более ранних версиях PHP.

По материалам сайта: http://www.php.su/