mirror of
https://github.com/php/php-src.git
synced 2024-10-21 00:12:34 +00:00
79 lines
2.0 KiB
Plaintext
79 lines
2.0 KiB
Plaintext
|
--TEST--
|
||
|
ReflectionObject::IsInstantiable() - variation - constructors
|
||
|
--FILE--
|
||
|
<?php
|
||
|
|
||
|
class noCtor {
|
||
|
public static function reflectionObjectFactory() {
|
||
|
return new ReflectionObject(new self);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class publicCtorNew {
|
||
|
public function __construct() {}
|
||
|
public static function reflectionObjectFactory() {
|
||
|
return new ReflectionObject(new self);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class protectedCtorNew {
|
||
|
protected function __construct() {}
|
||
|
public static function reflectionObjectFactory() {
|
||
|
return new ReflectionObject(new self);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class privateCtorNew {
|
||
|
private function __construct() {}
|
||
|
public static function reflectionObjectFactory() {
|
||
|
return new ReflectionObject(new self);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class publicCtorOld {
|
||
|
public function publicCtorOld() {}
|
||
|
public static function reflectionObjectFactory() {
|
||
|
return new ReflectionObject(new self);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class protectedCtorOld {
|
||
|
protected function protectedCtorOld() {}
|
||
|
public static function reflectionObjectFactory() {
|
||
|
return new ReflectionObject(new self);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
class privateCtorOld {
|
||
|
private function privateCtorOld() {}
|
||
|
public static function reflectionObjectFactory() {
|
||
|
return new ReflectionObject(new self);
|
||
|
}
|
||
|
}
|
||
|
|
||
|
|
||
|
$reflectionObjects = array(
|
||
|
noCtor::reflectionObjectFactory(),
|
||
|
publicCtorNew::reflectionObjectFactory(),
|
||
|
protectedCtorNew::reflectionObjectFactory(),
|
||
|
privateCtorNew::reflectionObjectFactory(),
|
||
|
publicCtorOld::reflectionObjectFactory(),
|
||
|
protectedCtorOld::reflectionObjectFactory(),
|
||
|
privateCtorOld::reflectionObjectFactory()
|
||
|
);
|
||
|
|
||
|
foreach($reflectionObjects as $reflectionObject ) {
|
||
|
$name = $reflectionObject->getName();
|
||
|
echo "Is $name instantiable? ";
|
||
|
var_dump($reflectionObject->IsInstantiable());
|
||
|
}
|
||
|
?>
|
||
|
--EXPECTF--
|
||
|
Is noCtor instantiable? bool(true)
|
||
|
Is publicCtorNew instantiable? bool(true)
|
||
|
Is protectedCtorNew instantiable? bool(false)
|
||
|
Is privateCtorNew instantiable? bool(false)
|
||
|
Is publicCtorOld instantiable? bool(true)
|
||
|
Is protectedCtorOld instantiable? bool(false)
|
||
|
Is privateCtorOld instantiable? bool(false)
|