class JsonLoader
@author Konstantin Kudryashiv <ever.zet@gmail.com>
Hierarchy
- class \Composer\Package\Loader\JsonLoader
Expanded class hierarchy of JsonLoader
File
-
vendor/
composer/ composer/ src/ Composer/ Package/ Loader/ JsonLoader.php, line 25
Namespace
Composer\Package\LoaderView source
class JsonLoader {
/** @var LoaderInterface */
private $loader;
public function __construct(LoaderInterface $loader) {
$this->loader = $loader;
}
/**
* @param string|JsonFile $json A filename, json string or JsonFile instance to load the package from
* @return CompletePackage|CompleteAliasPackage|RootPackage|RootAliasPackage
*/
public function load($json) : BasePackage {
if ($json instanceof JsonFile) {
$config = $json->read();
}
elseif (file_exists($json)) {
$config = JsonFile::parseJson(file_get_contents($json), $json);
}
elseif (is_string($json)) {
$config = JsonFile::parseJson($json);
}
else {
throw new \InvalidArgumentException(sprintf("JsonLoader: Unknown \$json parameter %s. Please report at https://github.com/composer/composer/issues/new.", gettype($json)));
}
return $this->loader
->load($config);
}
}
Members
Title Sort descending | Modifiers | Object type | Summary |
---|---|---|---|
JsonLoader::$loader | private | property | @var LoaderInterface |
JsonLoader::load | public | function | |
JsonLoader::__construct | public | function |