PHP 8.4.1 Released!

ReflectionClass::isCloneable

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

ReflectionClass::isCloneableComprueba si la clase es o no clonable

Descripción

public ReflectionClass::isCloneable(): bool

Comprueba si la clase es o no clonable

Parámetros

Esta función no tiene parámetros.

Valores devueltos

Devuelve true si la clase es clonable, o false en caso contrario.

Ejemplos

Ejemplo #1 Uso básico de ReflectionClass::isCloneable()

<?php
class NoClonable {
public
$var1;

private function
__clone() {
}
}

class
Clonable {
public
$var1;
}

$noClonable = new ReflectionClass('NoClonable');
$clonable = new ReflectionClass('Clonable');

var_dump($noClonable->isCloneable());
var_dump($clonable->isCloneable());
?>

El resultado del ejemplo sería:

bool(false)
bool(true)

add a note

User Contributed Notes 4 notes

up
1
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']);
}
?>
up
0
info at ensostudio dot ru
2 years ago
this method checks is `__clone()` method was declared as private
up
0
xxxargonxxx at gmail dot com
5 years ago
I wonder how this method decides of is it clonable or not. There is no explanation.
up
-4
php at abiusx dot com
8 years ago
This does not work for many of core-classes, just like most other reflection methods.
To Top