$color == 0 or $color == 1 or $color == 2 or $color == 5 or $color == 6 or $color == 7
Чтобы не было таких конструкций, надо либо писать что-то типа $color>=0 && $color<=7, а если нумерация не сквозная, то пользоваться функцией in_array. Представьте, что у вас тут будет 50 or.
Название входного параметра в svetofor. Передается $lastMinute, а внутри функции переменная называется $color. Как другому программисту понять, что это, последняя цифра минут или цвет?
$lastMinute = substr($time, 1);
Лучше использвоать intval