Функции для работы с классами и объектами

Проверка существования класса

Проверка существования класса выполняется с помощью функции class_exists(‘имя_класса’). Функция возвращает значение true если класс существует и false при отсутствии класса.

Выполнить

Задание 1. Скачайте файл ffc.php и поместите его в рабочую папку. Создайте файл 1.php и подключите в него файл ffc.php. Дальнейшие действия проделайте в файле 1.php. Проделайте следующий набор действий:

  1. Создайте объект на основе класса S2. Параметров конструктору передавать не нужно. Изучите возникшую ошибку.
  2. Проверьте с помощью функции class_exists существование класса Student. Если он существует создайте на его основе объект s3. При создании объекта передайте в качестве параметра конструктору любую строку. Запустите метод getMark() созданного объекта.
  3. Переименуйте класс Student. Продемонстрируйте работу функции class_exists.

Задание 2. Проверьте существование класса B2. Если он существует запустите его статический метод sayHello().

Задание 3. На основе класса B2 создайте класс-наследник с именем B3. Проверьте его существование. Отличается ли вывод class_exists для классов наследников.

Получение списка встроенных и определенных классов

Если стоит задача получения списка встроенных и определенных классов используется функция get_declared_classes().

Выполнить

Задание 4. Используя команду get_declared_classes() выведите на экран список используемых классов. Для удобства работы до вывода и после используйте тег pre. Вывод осуществляйте с помощью команды pring_r.

Обратите внимание на то, что выводится огромное количество предопределенных (зарезервированных) классов. Почитать о них можно здесь. Для определения класса на основе которого построен объект t1 нужно написать:

1
  echo get_class($t1);
Функция get_class возвратит имя класса на основе которого построен текущий. В противном случае вернет false.

Задание 5. Выведите на монитор имя класса на основе которого создан объект S2 из задания 1.

Задание 6. Просмотрите как отображается класс B3. Есть ли отличия для дочернего класса?

Проверка принадлежности объекта к семейству класса

Для проверки принадлежности объекта классу можно применить функцию instanceof , которой передается два значения: объект теста и класс, принадлежность к которому мы проверяем. Функция возвратить либо true если объект является экземпляром класса и false в противном случае. Пример применения:

1
$product instanceof ShopProduct;

Выполнить

Задание 7. Подключите файл ffc.php и проверьте принадлежность объекта $t1 классу Teacher.

Задание 8. Проверьте принадлежность $mt классу Teacher и MegaTeacher. Сделайте выводы.

Получение информации о методах

Для получения информации о методах класса воспользуйтесь функцией get_class_methods(). В качестве аргумента передайте ей имя класса. В результате вы получите массив методов.

выполнить

Задание 9. Выведите на экран информацию о методах классов Student и Teacher. Для вывода массивов используйте foreach.

Задание 10. Выведите на экран информацию о методах объекта $mt. Сделайте вывод о работе функции get_class_methods().

Получение информации о свойствах

Для получения информации о свойствах объекта используется функция get_class_vars(). В качестве аргумента передайте функции имя класса. Функция возвращает ассоциативный массив, где ключами выступают имя свойства, а значениями — содержимое свойств.

Выполнить

Задание 11.Выведите информацию о свойствах методов B2, Student, Teacher, MegaTeacher.

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *