Функция get_class
Сделайте объект какого-нибудь класса. Примените
к объекту функцию get_class
и узнайте
имя класса, которому принадлежит объект.
Сделайте два класса: Test1
и Test2
.
Пусть оба класса имеют свойство name
.
Создайте некоторое количество объектов этих
классов и запишите в массив $arr
в
произвольном порядке. Переберите этот массив
циклом и для каждого объекта выведите значение
его свойства name
и имя класса, которому
принадлежит объект.
Функция get_class_methods
Сделайте класс Test
с методами method1
,
method2
и method3
. С помощью
функции get_class_methods
получите
массив названий методов класса Test
.
Создайте объект класса Test
, запишите
его в переменную $test
. С помощью
функции get_class_methods
получите
массив названий методов объекта. Переберите
его циклом и в цикле вызовите каждый метод
класса, используя объект $test
. Переберите
этот массив циклом и в этом цикле вызовите
каждый метод объекта.
Функция get_class_vars
Сделайте класс Test
с публичными свойствами
prop1
и prop2
, а также с приватными
свойствами prop3
и prop4
.
Вызовите функцию get_class_vars
снаружи
класса Test
. Выведите массив доступных
свойств.
Вызовите функцию get_class_vars
внутри
класса Test
(например, в конструкторе).
Выведите массив доступных свойств.
Функция get_object_vars
Сделайте класс Test
с публичными свойствами
prop1
и prop2
, а также с приватными
свойствами prop3
и prop4
. Создайте
объект этого класса. С помощью функции get_object_vars
получите массив свойств созданного объекта.
Функция class_exists
Пусть у вас есть класс Test1
и нет
класса Test2
. Проверьте, что выведет
функция class_exists
для класса Test1
и для класса Test2
.
Пусть GET параметром в адресную строку передается название класса. Проверьте, существует ли такой класс. Выведите соответствующее сообщение на экран.
Функция method_exists
Сделайте класс Test
с методом method1
и без метода method2
. Проверьте, что
выведет функция method_exists
для
метода method1
и для метода method2
.
Пусть GET параметрами в адресную строку передаются название класса и его метод. Проверьте, существует ли такой класс. Если существует - проверьте существование переданного метода. Если и метод существует - создайте объект данного класса, вызовите указанный метод и выведите результат его работы на экран.
Функция property_exists
Сделайте класс Test
со свойством prop1
и без свойства prop2
. Проверьте, что
выведет функция property_exists
для
свойства prop1
и для свойства prop2
.
Дан массив со свойствами класса. Дан также класс, имеющий часть из этих свойств. Переберите этот массив циклом, для каждого свойства проверьте, существует ли оно в классе и, если существует, выведите на экран значение этого свойства.
Функция get_parent_class
Сделайте класс ChildClass
наследующий
от ParentClass
. С помощью функции
get_parent_class
выведите на экран
родителя класса ParentClass
.
Функции is_subclass_of
Сделайте класс ChildClass
наследующий
от ParentClass
, который в свою очередь
наследует от GrandParentClass
С помощью функции is_subclass_of
проверьте,
является ли класс ChildClass
потомком
GrandParentClass
.
С помощью функции is_subclass_of
проверьте,
является ли класс ParentClass
потомком
GrandParentClass
.
С помощью функции is_subclass_of
проверьте,
является ли класс ChildClass
потомком
ParentClass
.
Функция is_a
Сделайте класс ChildClass
наследующий
от ParentClass
. Создайте объект класса
ChildClass
, запишите его в переменную
$obj
.
С помощью функции is_a
проверьте,
принадлежит ли объект $obj
классу
ChildClass
.
С помощью функции is_a
проверьте,
принадлежит ли объект $obj
классу
ParentClass
.
Функция get_declared_classes
Выведите на экран список всех объявленных классов.