Я использую редактор NetBeans. В следующем коде нет ошибки, но я чем-то смущен: почему мы return new static
?Какие новые способы создания новых объектов?
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);
Полученный выход:
boolean true
boolean true
boolean true
Так что же return new static
здесь делает?