You are here

static function ComposerJson::createFromFile in X Autoload 7.5

Same name and namespace in other branches
  1. 7.4 lib/Discovery/ComposerJson.php \Drupal\xautoload\Discovery\ComposerJson::createFromFile()

Parameters

string $file:

Return value

self

Throws

\Exception

2 calls to ComposerJson::createFromFile()
ClassFinderAdapter::composerJson in src/Adapter/ClassFinderAdapter.php
Scan a composer.json file provided by a Composer package.
LocalDirectoryAdapter::composerJson in src/Adapter/LocalDirectoryAdapter.php
Scans a composer.json file provided by a Composer package.

File

src/Discovery/ComposerJson.php, line 26

Class

ComposerJson

Namespace

Drupal\xautoload\Discovery

Code

static function createFromFile($file) {
  if (!file_exists($file)) {
    throw new \Exception("File '{$file}' does not exist.");
  }
  $json = file_get_contents($file);
  $data = json_decode($json, TRUE);
  if (NULL === $data && JSON_ERROR_NONE !== json_last_error()) {
    throw new \Exception("Invalid json in '{$file}'.");
  }
  return self::createFromData($data, dirname($file) . '/');
}