function UpdateProject::createFromArray

Same name and namespace in other branches
  1. main core/modules/update/src/UpdateProject.php \Drupal\update\UpdateProject::createFromArray()

Creates a UpdateProject object.

Parameters

array $data: The project data from the Update XML.

Return value

static

1 call to UpdateProject::createFromArray()
UpdateManager::calculateProjectData in core/modules/update/src/UpdateManager.php

File

core/modules/update/src/UpdateProject.php, line 114

Class

UpdateProject
Update project information.

Namespace

Drupal\update

Code

public static function createFromArray(array $data) : static {
  $projectData = [];
  // Convert from snake case to properties.
  foreach ($data as $key => $value) {
    switch ($key) {
      case 'fetch_status':
        $projectData['fetchStatus'] = $value;
        break;

      case 'install_type':
        $projectData['installType'] = $value;
        break;

      case 'latest_dev':
        $projectData['latestDev'] = $value;
        break;

      case 'latest_version':
        $projectData['latestVersion'] = $value;
        break;

      case 'project_type':
        $projectData['projectType'] = $value;
        break;

      case 'existing_major':
        $projectData['existingMajor'] = $value;
        break;

      case 'project_status':
        $projectData['projectStatus'] = $value;
        break;

      case 'existing_version':
        $projectData['existingVersion'] = $value;
        break;

      case 'security updates':
        $projectData['securityUpdates'] = $value;
        break;

      default:
        if ($value) {
          $projectData[$key] = $value;
        }
        break;

    }
  }
  return new UpdateProject(...$projectData);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.