Тема: Допоможіть розібратися в документаціїї PHP (ООП)
Доброго дня.
Сьогодні вирішив освіжити свої знання з php зайшов на http://www.php.net/manual/ru/language.oop5.basic.php і зустрів речі які я номожу зрозуміти. Наприклад в лістингу #4
$instance = new SimpleClass();
$assigned = $instance;
$reference =& $instance;
$instance->var = '$assigned будет иметь это значение';
$instance = null; // $instance и $reference становятся null
var_dump($instance);
var_dump($reference);
var_dump($assigned);
?>
$reference =& $instance;
що це за присвоєння по подвійній силці?
--------------------
також я не можу зрозуміти деякі речі в лістингу #5
<?php
class Test
{
static public function getNew()
{
return new static;
}
}
class Child extends Test
{}
$obj1 = new Test();
$obj2 = new $obj1;
var_dump($obj1 !== $obj2);
$obj3 = Test::getNew();
var_dump($obj3 instanceof Test);
$obj4 = Child::getNew();
var_dump($obj4 instanceof Child);
?>
return new static; - чимось схоже на c++ завинятком того що в c++ ставиться тип, а не ключове слово static;
але це ж php i static мав би бути класом.
$obj1 = new Test();
$obj2 = new $obj1;
як таке можливо? в $obj1 лежить не назва класу а обєкт, хіба можна з оєкта створювати оєкт?