PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 2.0.7
Tutor LMS – eLearning and online course solution v2.0.7
3.9.14 3.9.13 3.9.12 3.9.11 trunk 1.0.0 1.0.0-alpha 1.0.1 1.0.2 1.0.3 1.0.4 1.0.5 1.0.6 1.0.7 1.0.8 1.0.9 1.1.0 1.1.1 1.2.0 1.2.1 1.2.11 1.2.12 1.2.13 1.2.20 1.3.0 1.3.1 1.3.2 1.3.3 1.3.4 1.3.5 1.3.6 1.3.7 1.3.8 1.3.9 1.4.0 1.4.1 1.4.2 1.4.3 1.4.4 1.4.5 1.4.6 1.4.7 1.4.8 1.4.9 1.5.0 1.5.1 1.5.2 1.5.3 1.5.4 1.5.5 1.5.6 1.5.7 1.5.8 1.5.9 1.6.0 1.6.1 1.6.2 1.6.3 1.6.4 1.6.5 1.6.6 1.6.7 1.6.8 1.6.9 1.7.0 1.7.1 1.7.2 1.7.3 1.7.4 1.7.5 1.7.6 1.7.7 1.7.8 1.7.9 1.8.0 1.8.1 1.8.10 1.8.2 1.8.3 1.8.4 1.8.5 1.8.6 1.8.7 1.8.8 1.8.9 1.9.0 1.9.1 1.9.10 1.9.11 1.9.12 1.9.13 1.9.14 1.9.15 1.9.16 1.9.2 1.9.3 1.9.4 1.9.5 1.9.6 1.9.7 1.9.8 1.9.9 2.0.0 2.0.1 2.0.10 2.0.2 2.0.3 2.0.4 2.0.5 2.0.6 2.0.7 2.0.8 2.0.9 2.1.0 2.1.1 2.1.10 2.1.2 2.1.3 2.1.4 2.1.5 2.1.6 2.1.7 2.1.8 2.1.9 2.2.0 2.2.1 2.2.2 2.2.3 2.2.4 2.3.0 2.4.0 2.5.0 2.6.0 2.6.1 2.6.2 2.7.0 2.7.1 2.7.2 2.7.3 2.7.4 2.7.5 2.7.6 2.7.7 3.0.0 3.0.1 3.0.2 3.1.0 3.2.0 3.2.1 3.2.2 3.2.3 3.3.0 3.3.1 3.4.0 3.4.1 3.4.2 3.5.0 3.6.0 3.6.1 3.6.2 3.6.3 3.6.4 3.7.0 3.7.1 3.7.2 3.7.3 3.7.4 3.8.0 3.8.1 3.8.2 3.8.3 3.9.0 3.9.1 3.9.10 3.9.2 3.9.3 3.9.4 3.9.5 3.9.6 3.9.7 3.9.8 3.9.9
tutor / cache / AbstractCache.php
tutor / cache Last commit date
AbstractCache.php 4 years ago QuizAttempts.php 4 years ago
AbstractCache.php
89 lines
1 <?php
2 /**
3 * Cache abstract for implementing by the derived class
4 *
5 * @package Tutor\Cache
6 *
7 * @author Themeum
8 *
9 * @since v2.0.6
10 */
11
12 namespace Tutor\Cache;
13
14 /**
15 * Containing abstract and regular method for
16 * caching
17 */
18 abstract class AbstractCache {
19
20 /**
21 * Cache key
22 *
23 * @return string
24 */
25 abstract public function key(): string;
26
27 /**
28 * Cache time
29 *
30 * @return int
31 */
32 abstract public function cache_time(): int;
33
34 /**
35 * Cache data
36 *
37 * @return array
38 */
39 abstract public function cache_data();
40
41 /**
42 * Set cache data
43 *
44 * @return void
45 *
46 * @since v2.0.6
47 */
48 public function set_cache(): void {
49 do_action( 'tutor_cache_before_' . $this->key(), $this->cache_data() );
50 set_transient( $this->key(), $this->cache_data(), $this->cache_time() );
51 do_action( 'tutor_cache_after_' . $this->key(), $this->cache_data() );
52 }
53
54 /**
55 * Get user data from cache
56 *
57 * @return object cache data
58 *
59 * @since v2.0.6
60 */
61 public function get_cache() {
62 $data = get_transient( $this->key() );
63 return $data;
64 }
65
66 /**
67 * If cache don't have value or expired or not exists
68 * will return false
69 *
70 * @return bool | true on success, false on fail
71 *
72 * @since v2.0.6
73 */
74 public function has_cache(): bool {
75 return $this->get_cache() ? true : false;
76 }
77
78 /**
79 * Delete cache
80 *
81 * @return void
82 *
83 * @since v2.0.6
84 */
85 public function delete_cache(): void {
86 delete_transient( $this->key );
87 }
88 }
89