print "This car is equipped with 4-wheel drive";
else :
print "This car is not equipped with 4-wheel drive";
endif;
?>
В листинге 6.10 функция method_exists ( ) проверяет, поддерживается ли объектом $car метод с именем setFourWheelDrive( ). Если метод поддерживается, функция возвращает логическую истину и фрагмент выводит соответствующее сообщение. В противном случае возвращается FALSE и выводится другое сообщение.
get_class( )
Функция get_class( ) возвращает имя класса, к которому относится объект с заданным именем. Синтаксис функции get_class( ):
string get_class(object имя_объекта);
Пример использования get_class( ) приведен в листинге 6.11.
Листинг 6.11. Получение имени класса функцией get_class( )
<?
class Vehicle {
...
class Land extends Vehicle {
...
}
// Создать объект с именем $саr $car = new Land;
// Переменной $class_a присваивается строка "Land"
$class_a = get_class($car);
?>
В результате переменной $class_a присваивается имя класса, на основе которого был создан объект $саr.
get_parent_class( )
Функция get_parent_class( ) возвращает имя родительского класса (если он есть) для объекта с заданным именем. Синтаксис функции get_parent_dass( ):
string get_parent_class (object имя_обьекта);
Листинг 6.12 демонстрирует использование get_parent_class( ).
Листинг 6.12. Получение имени родительского класса функцией get_parent_class( )
<?
class Vehicle {
...
}
class Land extends Vehicle {
...
}
// Создать объект с именем $саr $саr = new Land;
// Переменной $parent присваивается строка "Vehicle"
$parent = get_parent_dass($car);
?>
Как и следовало ожидать, при вызове get_parent_class( ) переменной $parent будет присвоена строка "Vehicle".
is_subclass_of( )
Функция is_subclass_of( ) проверяет, был ли объект создан на базе класса, имеющего родительский класс с заданным именем. Функция возвращает TRUE, если проверка дает положительный результат, и FALSE в противном случае. Синтаксис функции is_subclass_of( ):