PluginProbe ʕ •ᴥ•ʔ
Tutor LMS – eLearning and online course solution / 3.0.1
Tutor LMS – eLearning and online course solution v3.0.1
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 3 years ago FlashMessage.php 3 years ago QuizAttempts.php 2 years ago TutorCache.php 3 years ago
AbstractCache.php
90 lines
1 <?php
2 /**
3 * Cache abstract for implementing by the derived class
4 *
5 * @package Tutor\Cache
6 * @author Themeum <support@themeum.com>
7 * @link https://themeum.com
8 * @since 2.0.6
9 */
10
11 namespace Tutor\Cache;
12
13 /**
14 * AbstractCache class
15 *
16 * @since 2.0.6
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 * @since 2.0.6
45 * @return void
46 */
47 public function set_cache(): void {
48 do_action( 'tutor_cache_before_' . $this->key(), $this->cache_data() );
49 set_transient( $this->key(), $this->cache_data(), $this->cache_time() );
50 do_action( 'tutor_cache_after_' . $this->key(), $this->cache_data() );
51 }
52
53 /**
54 * Get user data from cache
55 *
56 * @since 2.0.6
57 * @return object cache data
58 */
59 public function get_cache() {
60 $data = get_transient( $this->key() );
61 return $data;
62 }
63
64 /**
65 * If cache don't have value or expired or not exists
66 * will return false
67 *
68 * @since 2.0.6
69 * @return bool true on success, false on fail
70 */
71 public function has_cache(): bool {
72 return $this->get_cache() ? true : false;
73 }
74
75 /**
76 * Delete cache
77 *
78 * @since 2.0.6
79 * @return void
80 */
81 public function delete_cache(): void {
82 delete_transient( $this->key() );
83
84 // Clear data after delete cache.
85 if ( isset( $this->data ) ) {
86 $this->data = '';
87 }
88 }
89 }
90