for testing and deploying your application
for finding and fixing issues
for empowering human code reviews
<?php
namespace Popy\Calendar\Formatter\Localisation;
use Popy\Calendar\Formatter\LocalisationInterface;
/**
* Hardcoded native english names, to mimic the DateTimeInterface::format
* behaviour.
*/
class NativeHardcoded implements LocalisationInterface
{
* Monthes names.
*
* @var array<string>
protected static $monthes = [
'January',
'February',
'March',
'April',
'May',
'June',
'July',
'August',
'September',
'October',
'November',
'December',
];
* Week days names.
protected static $days = [
'Monday',
'Tuesday',
'Wednesday',
'Thursday',
'Friday',
'Saturday',
'Sunday',
* Ordinal labels.
protected static $ordinal = [
'st',
'nd',
'rd',
'th',
* @inheritDoc
public function getMonthName($month)
if (isset(static::$monthes[$month])) {
return static::$monthes[$month];
}
public function getMonthShortName($month)
return substr(static::$monthes[$month], 0, 3);
public function getDayName($day)
if (isset(static::$days[$day])) {
return static::$days[$day];
public function getDayShortName($day)
return substr(static::$days[$day], 0, 3);
public function getNumberOrdinalSuffix($number)
if (isset(static::$ordinal[$number])) {
return static::$ordinal[$number];
return end(static::$ordinal) ?: null;