<?php

function playMelody(AlarmClock $alarmClock, DateTime $currentTime): void {
	
	// Получим ближайшее время срабатывания, ближайшей активной тревоги
    $nearestAlarmTime = $alarmClock->getNearestAlarmTime();
    
    if ($nearestAlarmTime) {
    	
    	// Время совпадает с текущим? Проигрываем
    	if ($nearestAlarmTime == $currentTime) {
    		
    		// Проиграл {}
    		// Удалим одноразовые, сработавшие тревоги
    		$alarmClock->deleteDisposableAlarms();
    		
    		playMelody(AlarmClock $alarmClock, DateTime $currentTime);
    	}
    	
    }


}

playMelody($alarmClock, new DateTime);