Есть такая зависимость (в упрощённом виде):
// Класс ошибок
class Err {
// Запись сообщения
public function remember($mess) {
...
}
}
// Класс файлов
class File {
// Вывести ошибку
protected function setError(string $error) {
$this->ok = false;
(new Err)->remember('Ошибка в папке '.$this->cut('').':<br>'.$error);
}
}
Я понимаю, что нужно сделать эту зависимость абстрактной, чтобы можно было без изменений перенести класс File (и другие классы, сделанные в рамках проекта) в другой проект, где ошибки пишутся по-другому. Как конкретно это можно сделать?