DateFormat.php

Same filename in this branch
  1. 11.x core/modules/config_translation/src/FormElement/DateFormat.php
Same filename and directory in other branches
  1. 9 core/modules/config_translation/src/FormElement/DateFormat.php
  2. 9 core/lib/Drupal/Core/Datetime/Entity/DateFormat.php
  3. 8.9.x core/modules/config_translation/src/FormElement/DateFormat.php
  4. 8.9.x core/lib/Drupal/Core/Datetime/Entity/DateFormat.php
  5. 10 core/modules/config_translation/src/FormElement/DateFormat.php
  6. 10 core/lib/Drupal/Core/Datetime/Entity/DateFormat.php

Namespace

Drupal\Core\Datetime\Entity

File

core/lib/Drupal/Core/Datetime/Entity/DateFormat.php

View source
<?php

namespace Drupal\Core\Datetime\Entity;

use Drupal\Core\Config\Entity\ConfigEntityBase;
use Drupal\Core\Config\Entity\ConfigEntityInterface;
use Drupal\Core\Datetime\DateFormatInterface;

/**
 * Defines the Date Format configuration entity class.
 *
 * @ConfigEntityType(
 *   id = "date_format",
 *   label = @Translation("Date format"),
 *   handlers = {
 *     "access" = "Drupal\system\DateFormatAccessControlHandler",
 *   },
 *   entity_keys = {
 *     "id" = "id",
 *     "label" = "label"
 *   },
 *   admin_permission = "administer site configuration",
 *   list_cache_tags = { "rendered" },
 *   config_export = {
 *     "id",
 *     "label",
 *     "locked",
 *     "pattern",
 *   }
 * )
 */
class DateFormat extends ConfigEntityBase implements DateFormatInterface {
    
    /**
     * The date format machine name.
     *
     * @var string
     */
    protected $id;
    
    /**
     * The human-readable name of the date format entity.
     *
     * @var string
     */
    protected $label;
    
    /**
     * The date format pattern.
     *
     * @var string
     */
    protected $pattern;
    
    /**
     * The locked status of this date format.
     *
     * @var bool
     */
    protected $locked = FALSE;
    
    /**
     * {@inheritdoc}
     */
    public function getPattern() {
        return $this->pattern;
    }
    
    /**
     * {@inheritdoc}
     */
    public function setPattern($pattern) {
        $this->pattern = $pattern;
        return $this;
    }
    
    /**
     * {@inheritdoc}
     */
    public function isLocked() {
        return (bool) $this->locked;
    }
    
    /**
     * {@inheritdoc}
     */
    public static function sort(ConfigEntityInterface $a, ConfigEntityInterface $b) {
        if ($a->isLocked() == $b->isLocked()) {
            $a_label = $a->label();
            $b_label = $b->label();
            return strnatcasecmp($a_label, $b_label);
        }
        return $a->isLocked() ? 1 : -1;
    }
    
    /**
     * {@inheritdoc}
     */
    public function getCacheTagsToInvalidate() {
        return [
            'rendered',
        ];
    }

}

Classes

Title Deprecated Summary
DateFormat Defines the Date Format configuration entity class.

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.