56 lines
1.8 KiB
PHP
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;
|
|
}
|
|
} |