В примере ниже, метод makeInterviewer(): Interviewer возвращает тип интерфейса Interviewer.Этот метод ничего не возвращает, а только объявляет требования к наследникам - они должны реализовать этот абстрактный метод и уже вернуть конкретный объект, реализующий интерфейс Interviewer.
interface Interviewer {
public function askQuestions();
}
abstract class HiringManager {
abstract public function makeInterviewer(): Interviewer;
public function takeInterview() {
$interviewer = $this->makeInterviewer();
$interviewer->askQuestions();
}
}
class TeamLead implements Interviewer {
public function askQuestions() {
...
}
}
class Boss extends HiringManager {
public function makeInterviewer(): Interviewer {
return new TeamLead();
}
}
Допустим пусть это будет exe который убирает отдачу в игре, то есть с игрой никакого взаимодействия
sudo -u %username% crontab -e
) добавьте строкуMAILTO=
MAILTO=email@example.com
0 */2 * * * /bin/backup.sh > /dev/null