Наследование полезно использовать, когда вы расширяете класс, дочерний класс наследует все публичные (public) и защищенные (protected) методы из родительского класса. Эти методы будут иметь исходную функциональность до тех пор, пока не будут переопределены.

Такой подход полезный для абстрагирования функциональности. Позволяет реализовать дополнительную функциональность в похожих объектах без необходимости реализовывать всю общую функциональность.

Чтобы создать наследование от другого класса нужно использовать оператор extends

Пример наследования:

<?php
class FirstClass {
    public $var1 = "value1";

    protected function func1() {
    }
    
    public function func2() {
    }
}

class SecondClass extends FirstClass {
    public $var2 = "value2";
}

$fc = new FirstClass();
$sc = new SecondClass();

echo $fc->var1; // value1
echo $sc->var1; // value1
$sc->func2(); // работает
echo $sc->var2; // value2
?>

Если мы попытаемся вызвать метод $sc->func1(), то получим ошибку, из-за того, что метод func1 определен в родительском классе как protected, он не может быть вызван снаружи.

<?php
$sc->func1(); // не работает, метод защищен (protected)
?>