1<?php 2 3namespace dokuwiki\Cache; 4 5/** 6 * Caching of parser instructions 7 */ 8class CacheInstructions extends CacheParser 9{ 10 /** 11 * @param string $id page id 12 * @param string $file source file for cache 13 */ 14 public function __construct($id, $file) 15 { 16 parent::__construct($id, $file, 'i'); 17 } 18 19 /** 20 * retrieve the cached data 21 * 22 * @param bool $clean true to clean line endings, false to leave line endings alone 23 * @return array cache contents 24 */ 25 public function retrieveCache($clean = true) 26 { 27 $contents = io_readFile($this->cache, false); 28 return empty($contents) ? [] : unserialize($contents); 29 } 30 31 /** 32 * cache $instructions 33 * 34 * @param array $instructions the instruction to be cached 35 * @return bool true on success, false otherwise 36 */ 37 public function storeCache($instructions) 38 { 39 if ($this->_nocache) { 40 return false; 41 } 42 43 return io_saveFile($this->cache, serialize($instructions)); 44 } 45} 46