Как обнаружить экземпляр анонимного класса?

Начиная с PHP7, мы имеем анонимные занятия.

Как мы можем знать, если $instance такое экземпляр анонимного класса?

7

Решение

С помощью отражение

$instance = new class {};

$testInstance = new ReflectionClass($instance);
var_dump($testInstance->isAnonymous());

РЕДАКТИРОВАТЬ

Конечно, учитывая, что вы все равно должны запускать PHP7 для анонимных классов, оберните его в одну строку

var_dump((new ReflectionClass($instance))->isAnonymous());
9

Другие решения

Вы можете попробовать это: Вот

<?php
class TestClass {}
$anonClass = new class {};

$normalClass = new ReflectionClass('TestClass');
$anonClass  = new ReflectionClass($anonClass);

var_dump($normalClass->isAnonymous());
var_dump($anonClass->isAnonymous());
?>

Выход:

BOOL (ложь)
BOOL (истина)

0

По вопросам рекламы [email protected]