/**
  * Checks PHP extensions
  *
  * @return array
  */
 public function checkPhpExtensions()
 {
     try {
         $required = $this->composerInformation->getRequiredExtensions();
         $current = $this->phpInformation->getCurrent();
     } catch (\Exception $e) {
         return [
             'responseType' => ResponseTypeInterface::RESPONSE_TYPE_ERROR,
             'data' => [
                 'error' => 'phpExtensionError',
                 'message' => 'Cannot determine required PHP extensions: ' . $e->getMessage()
             ],
         ];
     }
     $responseType = ResponseTypeInterface::RESPONSE_TYPE_SUCCESS;
     $missing = array_values(array_diff($required, $current));
     if ($missing) {
         $responseType = ResponseTypeInterface::RESPONSE_TYPE_ERROR;
     }
     return [
         'responseType' => $responseType,
         'data' => [
             'required' => $required,
             'missing' => $missing,
         ],
     ];
 }