feat: Функция чтения json из файла

This commit is contained in:
origami11@yandex.ru 2026-02-10 14:24:19 +03:00
parent 29048a7203
commit 14b10eea22
2 changed files with 25 additions and 3 deletions

View file

@ -479,7 +479,9 @@ class Component
* @param array $shim
*/
function addRequireJsPath($name, $path, $shim = null): void {
$this->site->addRequireJsPath($name, $path, $shim);
if ($this->site) {
$this->site->addRequireJsPath($name, $path, $shim);
}
}
/**

View file

@ -6,14 +6,34 @@ use Exception;
class File {
/**
* @param string $filename
* @return string
* @throws Exception
*/
static function getContents($filename) {
static function getContents(string $filename): string {
$buffer = @file_get_contents($filename);
if ($buffer !== false) {
return $buffer;
}
throw new Exception("Unable to read file: " . $filename);
}
/**
* @param string $filename
* @throws Exception
*/
static function getJson(string $filename, bool|null $associative = null): mixed {
if (!file_exists($filename)) {
return throw new \Exception("File not exist: " . $filename);
}
$json = @file_get_contents($filename);
if ($json === false) {
throw new \Exception("Unable to read file: " . $filename);
}
$file = json_decode($json, $associative);
if (is_null($file)) {
throw new \Exception("Unable decoding json file: " . $filename);
}
return $file;
}
}