ReflectionClass::isCloneable

(PHP >= 5.4.0)

ReflectionClass::isCloneableПроверяет, можно ли клонировать этот класс

Описание

public bool ReflectionClass::isCloneable ( void )

Проверяет, можно ли клонировать этот класс.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Возвращает 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)

Коментарии

This does not work for many of core-classes, just like most other reflection methods.
2016-08-18 19:29:59
http://php5.kiev.ua/manual/ru/reflectionclass.iscloneable.html
I wonder how this method decides of is it clonable or not. There is no explanation.
2019-09-12 20:05:51
http://php5.kiev.ua/manual/ru/reflectionclass.iscloneable.html
this method checks is  `__clone()`  method was declared as private
2022-08-28 07:01:16
http://php5.kiev.ua/manual/ru/reflectionclass.iscloneable.html
similar function:
<?php
function isCloneable(object $obj): bool
{
       return !
method_exists($obj'__clone') || is_callable([$obj'__clone']);
}
?>
2022-08-28 07:36:18
http://php5.kiev.ua/manual/ru/reflectionclass.iscloneable.html

    Поддержать сайт на родительском проекте КГБ