PHP 大会日本 2024

ReflectionClass::isCloneable

(PHP 5 >= 5.4.0,PHP 7,PHP 8)

ReflectionClass::isCloneable返回此类是否可克隆

描述

public ReflectionClass::isCloneable(): bool

返回此类是否可克隆。

参数

此函数没有参数。

返回值

如果类可克隆,则返回true,否则返回false

示例

示例 #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 条注释

info at ensostudio dot ru
2 年前
类似函数
<?php
function isCloneable(object $obj): bool
{
return !
method_exists($obj, '__clone') || is_callable([$obj, '__clone']);
}
?>
info at ensostudio dot ru
2 年前
此方法检查 `__clone()` 方法是否声明为私有
xxxargonxxx at gmail dot com
5 年前
我想知道此方法如何决定它是否可克隆。没有解释。
php at abiusx dot com
8 年前
这对于许多核心类都不起作用,就像大多数其他反射方法一样。
To Top