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

Breadcrumb

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

class PcreException

Same name in this branch
  1. 11.1.x vendor/phpdocumentor/reflection-docblock/src/Exception/PcreException.php \phpDocumentor\Reflection\Exception\PcreException

Hierarchy

  • class \Composer\Pcre\PcreException extends \Composer\Pcre\RuntimeException

Expanded class hierarchy of PcreException

1 file declares its use of PcreException
InvalidRegexPatternRule.php in vendor/composer/pcre/src/PHPStan/InvalidRegexPatternRule.php

File

vendor/composer/pcre/src/PcreException.php, line 14

Namespace

Composer\Pcre
View source
class PcreException extends \RuntimeException {
    
    /**
     * @param  string $function
     * @param  string|string[] $pattern
     * @return self
     */
    public static function fromFunction($function, $pattern) {
        $code = preg_last_error();
        if (is_array($pattern)) {
            $pattern = implode(', ', $pattern);
        }
        return new PcreException($function . '(): failed executing "' . $pattern . '": ' . self::pcreLastErrorMessage($code), $code);
    }
    
    /**
     * @param  int $code
     * @return string
     */
    private static function pcreLastErrorMessage($code) {
        if (function_exists('preg_last_error_msg')) {
            return preg_last_error_msg();
        }
        $constants = get_defined_constants(true);
        if (!isset($constants['pcre']) || !is_array($constants['pcre'])) {
            return 'UNDEFINED_ERROR';
        }
        foreach ($constants['pcre'] as $const => $val) {
            if ($val === $code && substr($const, -6) === '_ERROR') {
                return $const;
            }
        }
        return 'UNDEFINED_ERROR';
    }

}

Members

Title Sort descending Modifiers Object type Summary Overrides
PcreException::fromFunction public static function 1
PcreException::pcreLastErrorMessage private static function

API Navigation

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