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

Breadcrumb

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

function ManifestSerializer::addRequirements

1 call to ManifestSerializer::addRequirements()
ManifestSerializer::serializeToString in vendor/phar-io/manifest/src/ManifestSerializer.php

File

vendor/phar-io/manifest/src/ManifestSerializer.php, line 120

Class

ManifestSerializer
@psalm-suppress MissingConstructor

Namespace

PharIo\Manifest

Code

private function addRequirements(RequirementCollection $requirementCollection) : void {
    $phpRequirement = new AnyVersionConstraint();
    $extensions = [];
    foreach ($requirementCollection as $requirement) {
        if ($requirement instanceof PhpVersionRequirement) {
            $phpRequirement = $requirement->getVersionConstraint();
            continue;
        }
        if ($requirement instanceof PhpExtensionRequirement) {
            $extensions[] = $requirement->asString();
        }
    }
    $this->xmlWriter
        ->startElement('requires');
    $this->xmlWriter
        ->startElement('php');
    $this->xmlWriter
        ->writeAttribute('version', $phpRequirement->asString());
    foreach ($extensions as $extension) {
        $this->xmlWriter
            ->startElement('ext');
        $this->xmlWriter
            ->writeAttribute('name', $extension);
        $this->xmlWriter
            ->endElement();
    }
    $this->xmlWriter
        ->endElement();
    $this->xmlWriter
        ->endElement();
}
RSS feed
Powered by Drupal