PluginProbe ʕ •ᴥ•ʔ
JetBackup – Backup, Restore & Migrate / 2.0.3
JetBackup – Backup, Restore & Migrate v2.0.3
3.1.22.3 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.8.1 1.4.9 1.5.0 1.5.1 1.5.1.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.6.0 1.6.10 1.6.11 1.6.12 1.6.13 1.6.15 1.6.5.1 1.6.8.8 1.6.9 1.6.9.1 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7.5 2.0.8.7 2.0.9.11 2.0.9.14 2.0.9.15 2.0.9.6 2.0.9.7 2.0.9.9 3.1.10.7 3.1.11.1 3.1.12.3 3.1.13.4 3.1.14.17 3.1.15.4 3.1.16.1 3.1.17.5 3.1.18.10 3.1.18.8 3.1.18.9 3.1.19.8 3.1.20.3 3.1.21.3 3.1.7.9 3.1.9.2 trunk 1.1.90 1.1.91 1.2.0 1.2.5 1.2.6 1.2.7 1.2.8 1.2.9 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2
backup / com / lib / BackupGuard / Core / SGBGCacheableFile.php
backup / com / lib / BackupGuard / Core Last commit date
ISGArchiveDelegate.php 3 years ago SGBGArchive.php 3 years ago SGBGArchiveCdr.php 3 years ago SGBGArchiveHelper.php 3 years ago SGBGCache.php 3 years ago SGBGCacheableFile.php 3 years ago SGBGDirectoryTreeFile.php 3 years ago SGBGFile.php 3 years ago SGBGFileHelper.php 3 years ago SGBGJsonFile.php 3 years ago SGBGLog.php 3 years ago SGBGReloader.php 3 years ago SGBGStateFile.php 3 years ago SGBGTask.php 3 years ago
SGBGCacheableFile.php
65 lines
1 <?php
2 /*
3 @ class CacheableFile
4 @ version 1.0.0
5 @ updated 23/01/2021
6 */
7
8 require_once(__DIR__.'/SGBGFile.php');
9 require_once(__DIR__.'/SGBGCache.php');
10
11 class SGBGCacheableFile extends SGBGFile
12 {
13 private $cache = null;
14
15 /**
16 *
17 * Constructor.
18 *
19 * @param string $path absolute file path
20 * @return null
21 */
22 public function __construct($path)
23 {
24 parent::__construct($path);
25
26 $this->cache = new SGBGCache(array($this, 'writeToFile'));
27 }
28
29 /**
30 *
31 * Get Cache object.
32 *
33 * @return Cache instance of Cache class
34 */
35 public function getCache()
36 {
37 return $this->cache;
38 }
39
40 /**
41 *
42 * Callback called when Cache flushes.
43 *
44 * @param string $data data being flushed
45 * @return null
46 */
47 public function writeToFile($data)
48 {
49 parent::write($data);
50 }
51
52 /**
53 *
54 * Override parent write function to cache instead of directly writing to file.
55 *
56 * @param string $data data to write to file
57 * @return int the number of bytes cached or written to file
58 */
59 public function write($data)
60 {
61 $this->getCache()->cache($data);
62 return strlen($data);
63 }
64 }
65