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

Breadcrumb

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

class Util

Hierarchy

  • class \OpenTelemetry\SDK\Common\Dev\Compatibility\Util

Expanded class hierarchy of Util

2 files declare their use of Util
ResourceInfo.php in vendor/open-telemetry/sdk/Resource/ResourceInfo.php
Span.php in vendor/open-telemetry/sdk/Trace/Span.php

File

vendor/open-telemetry/sdk/Common/Dev/Compatibility/Util.php, line 7

Namespace

OpenTelemetry\SDK\Common\Dev\Compatibility
View source
class Util {
    public const E_NONE = 0;
    public const DEFAULT_ERROR_LEVEL = E_USER_NOTICE;
    public const ERROR_LEVELS = [
        self::E_NONE,
        E_USER_DEPRECATED,
        E_USER_NOTICE,
        E_USER_WARNING,
        E_USER_ERROR,
    ];
    private static int $errorLevel = E_USER_NOTICE;
    public static function setErrorLevel(int $errorLevel = E_USER_NOTICE) : void {
        self::validateErrorLevel($errorLevel);
        self::$errorLevel = $errorLevel;
    }
    public static function getErrorLevel() : int {
        return self::$errorLevel;
    }
    
    /**
     * @psalm-suppress ArgumentTypeCoercion
     */
    public static function triggerClassDeprecationNotice(string $className, ?string $alternativeClassName = null) : void {
        if (self::getErrorLevel() === self::E_NONE) {
            return;
        }
        $notice = sprintf('Class "%s" is deprecated and will be removed in a future release. ', $className);
        if ($alternativeClassName !== null) {
            $notice .= sprintf('Please, use "%s" instead.', $alternativeClassName);
        }
        trigger_error($notice, self::$errorLevel);
    }
    
    /**
     * @psalm-suppress ArgumentTypeCoercion
     */
    public static function triggerMethodDeprecationNotice(string $methodName, ?string $alternativeMethodName = null, ?string $alternativeClassName = null) : void {
        if (self::getErrorLevel() === self::E_NONE) {
            return;
        }
        $notice = sprintf('Method "%s " is deprecated and will be removed in a future release. ', $methodName);
        if ($alternativeMethodName !== null) {
            $method = $alternativeClassName === null ? $alternativeMethodName : sprintf('%s::%s', $alternativeClassName, $alternativeMethodName);
            $notice .= sprintf('Please, use "%s" instead.', $method);
        }
        trigger_error($notice, self::$errorLevel);
    }
    private static function validateErrorLevel(int $errorLevel) : void {
        if (!in_array($errorLevel, self::ERROR_LEVELS, true)) {
            throw new \InvalidArgumentException(sprintf('Error level must be one of "%s"', implode('", "', self::ERROR_LEVELS)));
        }
    }

}

Members

Title Sort descending Modifiers Object type Summary
Util::$errorLevel private static property
Util::DEFAULT_ERROR_LEVEL public constant
Util::ERROR_LEVELS public constant
Util::E_NONE public constant
Util::getErrorLevel public static function
Util::setErrorLevel public static function
Util::triggerClassDeprecationNotice public static function @psalm-suppress ArgumentTypeCoercion
Util::triggerMethodDeprecationNotice public static function @psalm-suppress ArgumentTypeCoercion
Util::validateErrorLevel private static function
RSS feed
Powered by Drupal