ReflectionClass::isCloneable
(PHP 5 >= 5.4.0, PHP 7, PHP 8)
ReflectionClass::isCloneable — 返回了一个类是否可复制
参数
此函数没有参数。
示例
示例 #1 ReflectionClass::isCloneable() 的基本用法
<?php
class NotCloneable {
public $var1;
private function __clone() {
}
}
class Cloneable {
public $var1;
}
$notCloneable = new ReflectionClass('NotCloneable');
$cloneable = new ReflectionClass('Cloneable');
var_dump($notCloneable->isCloneable());
var_dump($cloneable->isCloneable());
?>
以上示例会输出:
bool(false) bool(true)
+添加备注
用户贡献的备注 4 notes
info at ensostudio dot ru ¶
2 years ago
similar function:
<?php
function isCloneable(object $obj): bool
{
return !method_exists($obj, '__clone') || is_callable([$obj, '__clone']);
}
?>
info at ensostudio dot ru ¶
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.
php at abiusx dot com ¶
8 years ago
This does not work for many of core-classes, just like most other reflection methods.
备份地址:http://www.lvesu.com/blog/php/reflectionclass.iscloneable.php