Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. PropertyDeclarationSniff.php

function PropertyDeclarationSniff::getNormalizedModifiersOrder

*

Return value

array<int, array<int, (int|string)>>

1 call to PropertyDeclarationSniff::getNormalizedModifiersOrder()
PropertyDeclarationSniff::checkModifiersOrder in vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Classes/PropertyDeclarationSniff.php

File

vendor/slevomat/coding-standard/SlevomatCodingStandard/Sniffs/Classes/PropertyDeclarationSniff.php, line 359

Class

PropertyDeclarationSniff

Namespace

SlevomatCodingStandard\Sniffs\Classes

Code

private function getNormalizedModifiersOrder() : array {
    if ($this->normalizedModifiersOrder === null) {
        $modifiersGroups = SniffSettingsHelper::normalizeArray($this->modifiersOrder);
        if ($modifiersGroups === []) {
            $modifiersGroups = [
                'var, public, protected, private',
                'static, readonly',
            ];
        }
        $this->normalizedModifiersOrder = [];
        $mapping = [
            'var' => T_VAR,
            'public' => T_PUBLIC,
            'protected' => T_PROTECTED,
            'private' => T_PRIVATE,
            'static' => T_STATIC,
            'readonly' => T_READONLY,
        ];
        foreach ($modifiersGroups as $modifiersGroupNo => $modifiersGroup) {
            $this->normalizedModifiersOrder[$modifiersGroupNo] = [];
            
            /** @var list<string> $modifiers */
            $modifiers = preg_split('~\\s*,\\s*~', strtolower($modifiersGroup));
            foreach ($modifiers as $modifier) {
                if (!array_key_exists($modifier, $mapping)) {
                    throw new UnexpectedValueException(sprintf('Unknown property modifier "%s".', $modifier));
                }
                $this->normalizedModifiersOrder[$modifiersGroupNo][] = $mapping[$modifier];
            }
        }
    }
    return $this->normalizedModifiersOrder;
}

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal