PHP 8.4.0 RC4 available for testing

ReflectionClass::isCloneable

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

ReflectionClass::isCloneableRenseigne à propos de la propriété de duplication de la classe

Description

public ReflectionClass::isCloneable(): bool

Retourne si cette classe est clonable.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Valeurs de retour

Renvoie true si la classe peut être clônée, false sinon.

Exemples

Exemple #1 Utilisation basique de 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());
?>

L'exemple ci-dessus va afficher :

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