php_components_pack/sources/traits/JsonReWriter/JsonReWriterLoadSaveTrait.php
2025-06-29 20:29:52 +03:00

56 lines
1.8 KiB
PHP

<?php
namespace goodboyalex\php_components_pack\traits\JsonReWriter;
/**
* Часть кода класса JsonReWriter, отвечающая за методы загрузки и сохранения JSON.
*
* @author Александр Бабаев
* @package php_components_pack
* @version 1.0
* @since 1.1.0
*/
trait JsonReWriterLoadSaveTrait
{
/**
* Сохраняем JSON в файл.
*
* @param string $fileName Имя файла.
*
* @return bool Сохранены ли данные в файл: <code>true</code> - да, <code>false</code> - нет.
*/
public function SaveToFile (string $fileName): bool
{
// Запись данных в файл
return file_put_contents($fileName, $this->JsonString) !== false;
}
/**
* Загрузка данных из JSON-файла.
*
* @param string $fileName Имя файла.
*
* @return bool Загрузились ли данные из файла: <code>true</code> - да, <code>false</code> - нет.
*/
public function LoadFromFile (string $fileName): bool
{
// Проверка существования файла
if (!is_file($fileName))
// - если нет, возвращаем false
return false;
// Чтение содержимого файла
$result = file_get_contents($fileName);
// Проверка на ошибки
if ($result === false)
// - если есть ошибки, возвращаем false
return false;
// Записываем результат
$this->JsonString = $result;
// Возвращаем true, если все хорошо
return true;
}
}