После выхода PHP5 поддержка Три свойства ООП Объектно-ориентированное программирование в PHP стала практически полной.
$var1 = 10; // $var2 - копия текущего состояния переменной $var1 $var2 = $var1; // $var3 - жесткая ссылка на $var1, дальнейшее изменение значения одной из // них отразится на значении второй $var3 = &$var1; $obj1 = new MyClass(); $obj2 = clone $obj1; // $obj2 - копия текущего состояния $obj1 $obj3 = $obj1; // $obj3 - жесткая ссылка на $obj1
parent::__construct()
Специальные методы класса: construct(), destruct(), clone() и т.д. Каждый специальный метод предваряется двумя символами подчеркивания.
$class_methods = get_class_methods(new MyClass()); print_r($class_methods);
<?php error_reporting(E_ALL & ~E_NOTICE); class counter { public static $count = 0; public function __construct() { self::$count++; // идентично counter::$count++; } public function __destruct() { self::$count--; // идентично counter::$count--; } } $obj = new counter(); echo counter::$count . "\n"; // 1 for ($i = 0; $i < 3; $i++) { $arr[] = new counter(); echo counter::$count . "\n"; // 2, 3, 4 } unset($arr); // уничтожение массива объктов echo counter::$count . "\n"; // 1 ?>