class PcreException
Same name in this branch
- 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\PcreView 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 |