public function setDayOfWeekFromString($day) { @(list($weekNumberString, $dayNumberString) = explode(' ', $day)); // get day number $day = Weekly::getDayIntFromString($dayNumberString) % 7; // get week number $weekNumberString = strtolower($weekNumberString); if (isset(self::$weekNumberStringToInt[$weekNumberString])) { $week = self::$weekNumberStringToInt[$weekNumberString]; } else { throw new Exception("Invalid week describer in Schedule\\Monthly::setDayOfWeekFromString: '{$weekNumberString}'. " . "Supported values are 'first', 'second', 'third', 'fourth'."); } $this->setDayOfWeek($day, $week); }