src/Fixer/Phpdoc/PhpdocAlignFixer.php
public function configure(array $configuration = null)
    {
        parent::configure($configuration);

        $tagsWithNameToAlign = array_intersect($this->configuration['tags'], self::$tagsWithName);
        $tagsWithMethodSignatureToAlign = array_intersect($this->configuration['tags'], self::$tagsWithMethodSignature);
        $tagsWithoutNameToAlign = array_diff($this->configuration['tags'], $tagsWithNameToAlign, $tagsWithMethodSignatureToAlign);
        $types = [];

        $indent = '(?P<indent>(?: {2}|\t)*)';
        // e.g. @param <hint> <$var>
        if (!empty($tagsWithNameToAlign)) {
            $types[] = '(?P<tag>'.implode('|', $tagsWithNameToAlign).')\s+(?P<hint>[^$]+?)\s+(?P<var>(?:&|\.{3})?\$[^\s]+)';
        }

        // e.g. @return <hint>
        if (!empty($tagsWithoutNameToAlign)) {
            $types[] = '(?P<tag2>'.implode('|', $tagsWithoutNameToAlign).')\s+(?P<hint2>[^\s]+?)';
        }

        // e.g. @method <hint> <signature>
        if (!empty($tagsWithMethodSignatureToAlign)) {
            $types[] = '(?P<tag3>'.implode('|', $tagsWithMethodSignatureToAlign).')(\s+(?P<hint3>[^\s(]+)|)\s+(?P<signature>.+\))';
        }

        // optional <desc>
        $desc = '(?:\s+(?P<desc>\V*))';

        $this->regex = '/^'.$indent.' \* @(?:'.implode('|', $types).')'.$desc.'\s*$/u';
        $this->regexCommentLine = '/^'.$indent.' \*(?! @)(?:\s+(?P<desc>\V+))(?<!\*\/)\r?$/u';
        $this->align = $this->configuration['align'];
    }
public function configure(array $configuration = null)
    {
        parent::configure($configuration);

        $tagsWithNameToAlign = array_intersect($this->configuration['tags'], self::$tagsWithName);
        $tagsWithMethodSignatureToAlign = array_intersect($this->configuration['tags'], self::$tagsWithMethodSignature);
        $tagsWithoutNameToAlign = array_diff($this->configuration['tags'], $tagsWithNameToAlign, $tagsWithMethodSignatureToAlign);
        $types = [];

        $indent = '(?P<indent>(?: {2}|\t)*)';
        // e.g. @param <hint> <$var>
        if (!empty($tagsWithNameToAlign)) {
            $types[] = '(?P<tag>'.implode('|', $tagsWithNameToAlign).')\s+(?P<hint>[^$]+?)\s+(?P<var>(?:&|\.{3})?\$[^\s]+)';
        }

        // e.g. @return <hint>
        if (!empty($tagsWithoutNameToAlign)) {
            $types[] = '(?P<tag2>'.implode('|', $tagsWithoutNameToAlign).')\s+(?P<hint2>[^\s]+?)';
        }

        // e.g. @method <hint> <signature>
        if (!empty($tagsWithMethodSignatureToAlign)) {
            $types[] = '(?P<tag3>'.implode('|', $tagsWithMethodSignatureToAlign).')(\s+(?P<hint3>[^\s(]+)|)\s+(?P<signature>.+\))';
        }

        // optional <desc>
        $desc = '(?:\s+(?P<desc>\V*))';

        $this->regex = '/^'.$indent.' \* @(?:'.implode('|', $types).')'.$desc.'\s*$/u';
        $this->regexCommentLine = '/^'.$indent.' \*(?! @)(?:\s+(?P<desc>\V+))(?<!\*\/)\r?$/u';
        $this->align = $this->configuration['align'];
    }
public function configure ( array $ configuration = null ) { parent :: configure ( $ configuration ) ; $ tagsWithNameToAlign = array_intersect ( $ this -> configuration [ 'tags' ] , self :: $ tagsWithName ) ; $ tagsWithMethodSignatureToAlign = array_intersect ( $ this -> configuration [ 'tags' ] , self :: $ tagsWithMethodSignature ) ; $ tagsWithoutNameToAlign = array_diff ( $ this -> configuration [ 'tags' ] , $ tagsWithNameToAlign , $ tagsWithMethodSignatureToAlign ) ; $ types = [ ] ; $ indent = '(?P<indent>(?: {2}|\t)*)' ; // e.g. @param <hint> <$var> if ( ! empty ( $ tagsWithNameToAlign ) ) { $ types [ ] = '(?P<tag>' . implode ( '|' , $ tagsWithNameToAlign ) . ')\s+(?P<hint>[^$]+?)\s+(?P<var>(?:&|\.{3})?\$[^\s]+)' ; } // e.g. @return <hint> if ( ! empty ( $ tagsWithoutNameToAlign ) ) { $ types [ ] = '(?P<tag2>' . implode ( '|' , $ tagsWithoutNameToAlign ) . ')\s+(?P<hint2>[^\s]+?)' ; } // e.g. @method <hint> <signature> if ( ! empty ( $ tagsWithMethodSignatureToAlign ) ) { $ types [ ] = '(?P<tag3>' . implode ( '|' , $ tagsWithMethodSignatureToAlign ) . ')(\s+(?P<hint3>[^\s(]+)|)\s+(?P<signature>.+\))' ; } // optional <desc> $ desc = '(?:\s+(?P<desc>\V*))' ; $ this -> regex = '/^' . $ indent . ' \* @(?:' . implode ( '|' , $ types ) . ')' . $ desc . '\s*$/u' ; $ this -> regexCommentLine = '/^' . $ indent . ' \*(?! @)(?:\s+(?P<desc>\V+))(?<!\*\/)\r?$/u' ; $ this -> align = $ this -> configuration [ 'align' ] ; }
{@inheritdoc}
{