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

Breadcrumb

  1. Drupal Core 11.1.x

ExtensionDependency.php

Namespace

Nevay\SPI\ServiceProviderDependency

File

vendor/tbachert/spi/src/ServiceProviderDependency/ExtensionDependency.php

View source
<?php

declare (strict_types=1);
namespace Nevay\SPI\ServiceProviderDependency;

use Attribute;
use Composer\Semver\VersionParser;
use Nevay\SPI\ServiceProviderRequirementRuntimeValidated;
use function phpversion;

/**
 * Specifies extensions required by a service provider.
 */
final class ExtensionDependency implements ServiceProviderRequirementRuntimeValidated {
    public function __construct(string $extension, string $version) {
    }
    public function isSatisfied() : bool {
        if (($version = phpversion($this->extension)) === false) {
            return false;
        }
        $parser = new VersionParser();
        $constraint = $parser->parseConstraints($this->version);
        $provided = $parser->parseConstraints($version);
        return $provided->matches($constraint);
    }
    public function hash() : string|false {
        return phpversion($this->extension);
    }

}

Classes

Title Deprecated Summary
ExtensionDependency Specifies extensions required by a service provider.

API Navigation

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