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;
 | |
|     }
 | |
| } |