33 public static function factory(
Date $dateObject, $toRender)
35 $className = self::getRenderer($toRender);
36 return new $className($dateObject);
49 private static function getRenderer($toRender)
54 $className =
"DayRenderer";
57 $className =
"MonthRenderer";
60 $className =
"YearRenderer";
63 $className =
"MonthDayRenderer";
66 $className =
"YearDayRenderer";
69 $className =
"YearMonthRenderer";
72 $className =
"YearMonthDayRenderer";
75 return __NAMESPACE__ .
"\\" . $className;
94 protected function renderOneRangePart(DatePart $datePart, DateTime $from, DateTime $to, $delimiter)
96 $prefix = $datePart->renderPrefix();
97 $from = $datePart->renderWithoutAffixes($from, $this->parentDateObject);
98 $to = $datePart->renderWithoutAffixes($to, $this->parentDateObject);
99 $suffix = !empty($to) ? $datePart->renderSuffix() :
"";
100 return $prefix . $from . $delimiter . $to . $suffix;
106 foreach ($dateParts as $datePart) {
107 if (is_array($datePart)) {
108 $renderedFrom = $datePart[0]->render($from, $this->parentDateObject);
109 $renderedFrom .= $datePart[1]->renderPrefix();
110 $renderedFrom .= $datePart[1]->renderWithoutAffixes($from, $this->parentDateObject);
111 $renderedTo = $datePart[0]->renderWithoutAffixes($to, $this->parentDateObject);
112 $renderedTo .= $datePart[0]->renderSuffix();
113 $renderedTo .= $datePart[1]->render($to, $this->parentDateObject);
114 $ret .= $renderedFrom . $delimiter . $renderedTo;
116 $ret .= $datePart->render($from, $this->parentDateObject);