/** * Canonicalize the calendar name and ensure it is available * * Transforms calendar names into camelCase, then ensures the appropriate * calendar system class/object is registered. Will throw an * `UnknownCalendarException` for calendars it cannot find. * * @internal * * @param string $calendar The calendar system to retrieve * @throws InvalidCalendarException * @throws UnknownCalendarException * @return string The canonical index for accessing $calendar functions **/ protected static function getCalendar($calendar) { $calendar = Cased::fromCamelCase($calendar)->asCamelCase(); if (!array_key_exists($calendar, static::$timeConverters['toInternal'])) { $className = __NAMESPACE__ . '\\Calendar\\' . Cased::fromCamelCase($calendar)->asPascalCase(); if (class_exists($className)) { static::registerCalendar($calendar, $className); } elseif (class_exists('Illuminate\\Database\\Eloquent\\Model') && is_a($class = Calendar::where('name', 'like', $calendar)->first(), 'Illuminate\\Database\\Eloquent\\Model')) { static::registerCalendar($calendar, $class); } else { throw new UnknownCalendarException("Can't find the '{$calendar}' calendar!"); } } return $calendar; }
public function addUnits(array $a, array $b) { return parent::addUnits($a, $b); }