Интерфейси и instanceof в ООП в PHP

С instanceof може да се проверява дали даден клас имплементира зададен интерфейс или не. Нека разгледаме пример. Нека имаме следния клас:

Quadrate.php<?php
  class Quadrate implements iFigure
  {
    
  }
?>

Нека създадем обект от този клас и да го проверим с оператора instanceof:

index.php<?php
  $quadrate = new Quadrate;
  
  var_dump($quadrate instanceof Quadrate); // ще върне true
  var_dump($quadrate instanceof Figure);   // ще върне true
?>
Задание 1

Създайте интерфейс Figure3d, който ще има метод getVolume и метод getSurfaceSquare.

Задание 2

Създайте клас Cube, който ще имплементира интерфейса Figure3d.

Задание 3

Създайте няколко обекта от класа Quadrate, няколко обекта от класа Rectangle и няколко обекта от класа Cube. Запишете ги в масив $arr в произволен ред.

Задание 4

Обходете в цикъл масива $arr и изведете на екрана само лицата на обектите, които имплементират интерфейса iFigure.

Задание 5

Обходете в цикъл масива $arr и изведете за плоските фигури техните лица, а за обемните - лицата на техните повърхнини.