PHP: Hypertext Preprocessor (original) (raw)
ReflectionClass::isCloneable
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
ReflectionClass::isCloneable — Returns whether this class is cloneable
Description
public ReflectionClass::isCloneable(): bool
Parameters
This function has no parameters.
Return Values
Returns [true](reserved.constants.php#constant.true)
if the class is cloneable, [false](reserved.constants.php#constant.false)
otherwise.
Examples
Example #1 Basic usage of ReflectionClass::isCloneable()
`<?php
class NotCloneable {
public $var1;
private function
__clone() {
}
}
class
Cloneable {
public $var1;
}$notCloneable = new ReflectionClass('NotCloneable'); cloneable=newReflectionClass(′Cloneable′);vardump(cloneable = new ReflectionClass('Cloneable');var_dump(cloneable=newReflectionClass(′Cloneable′);vardump(notCloneable->isCloneable());
var_dump($cloneable->isCloneable());
?>`
The above example will output:
Found A Problem?
2 years ago
similar function: <?php function isCloneable(object $obj): bool { return !method_exists($obj, '__clone') || is_callable([$obj, '__clone']); } ?>
2 years ago
this method checks is `__clone()` method was declared as private
xxxargonxxx at gmail dot com ¶
5 years ago
I wonder how this method decides of is it clonable or not. There is no explanation.
8 years ago
This does not work for many of core-classes, just like most other reflection methods.