Проверка PHP для экземпляра DateTime? - PullRequest
48 голосов
/ 05 марта 2012

Это единственный способ проверить, является ли объект экземпляром класса, в моем случае класса DateTime?

$cls = ReflectionClass("DateTime");
if (! $cls->isInstance( (object) $var ) ) {
    // is not an instance
}

Мне кажется, это немного тяжело.

Ответы [ 4 ]

128 голосов
/ 05 марта 2012

Вы можете попробовать instanceof & shy; Документы ...

if ($var instanceof DateTime) {
  // true
}

См. Также is_a Документы :

if (is_a($var, 'DateTime')) {
  // true
}
8 голосов
/ 05 марта 2012

if ($var instanceof DateTime)

7 голосов
/ 05 марта 2012

Вы можете использовать функцию get_class следующим образом:

<?php

    $a = new DateTime();
    if (get_class($a) == 'DateTime') {
        echo "Datetime";
    }
5 голосов
/ 05 марта 2012

Как насчет instanceof

...