Merge pull request #12958 from pradpnayak/Tags
[civicrm-core.git] / CRM / Utils / Cache / NoCache.php
CommitLineData
6a488035
TO
1<?php
2/*
3 +--------------------------------------------------------------------+
fee14197 4 | CiviCRM version 5 |
6a488035 5 +--------------------------------------------------------------------+
8c9251b3 6 | Copyright CiviCRM LLC (c) 2004-2018 |
6a488035
TO
7 +--------------------------------------------------------------------+
8 | This file is a part of CiviCRM. |
9 | |
10 | CiviCRM is free software; you can copy, modify, and distribute it |
11 | under the terms of the GNU Affero General Public License |
12 | Version 3, 19 November 2007 and the CiviCRM Licensing Exception. |
13 | |
14 | CiviCRM is distributed in the hope that it will be useful, but |
15 | WITHOUT ANY WARRANTY; without even the implied warranty of |
16 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. |
17 | See the GNU Affero General Public License for more details. |
18 | |
19 | You should have received a copy of the GNU Affero General Public |
20 | License and the CiviCRM Licensing Exception along |
21 | with this program; if not, contact CiviCRM LLC |
22 | at info[AT]civicrm[DOT]org. If you have questions about the |
23 | GNU Affero General Public License or the licensing of CiviCRM, |
24 | see the CiviCRM license FAQ at http://civicrm.org/licensing |
25 +--------------------------------------------------------------------+
d25dd0ee 26 */
6a488035
TO
27
28/**
29 *
30 * @package CRM
8c9251b3 31 * @copyright CiviCRM LLC (c) 2004-2018
6a488035 32 */
6a488035
TO
33class CRM_Utils_Cache_NoCache implements CRM_Utils_Cache_Interface {
34
0d64c8fa 35 use CRM_Utils_Cache_NaiveMultipleTrait; // TODO Consider native implementation.
9f70b0e4 36 use CRM_Utils_Cache_NaiveHasTrait; // TODO Native implementation
0d64c8fa 37
6a488035
TO
38 /**
39 * We only need one instance of this object. So we use the singleton
40 * pattern and cache the instance in this variable
41 *
42 * @var object
6a488035
TO
43 */
44 static private $_singleton = NULL;
45
46 /**
fe482240 47 * Constructor.
6a488035 48 *
77855840
TO
49 * @param array $config
50 * An array of configuration params.
6a488035 51 *
77b97be7 52 * @return \CRM_Utils_Cache_NoCache
6a488035 53 */
00be9182 54 public function __construct($config) {
6a488035
TO
55 }
56
5bc392e6
EM
57 /**
58 * @param string $key
59 * @param mixed $value
858451a9 60 * @param null|int|\DateInterval $ttl
5bc392e6
EM
61 *
62 * @return bool
63 */
858451a9 64 public function set($key, $value, $ttl = NULL) {
6a488035
TO
65 return FALSE;
66 }
67
5bc392e6
EM
68 /**
69 * @param string $key
2da67cc5 70 * @param mixed $default
5bc392e6
EM
71 *
72 * @return null
73 */
2da67cc5
TO
74 public function get($key, $default = NULL) {
75 return $default;
6a488035
TO
76 }
77
5bc392e6
EM
78 /**
79 * @param string $key
80 *
81 * @return bool
82 */
00be9182 83 public function delete($key) {
6a488035
TO
84 return FALSE;
85 }
86
5bc392e6
EM
87 /**
88 * @return bool
89 */
00be9182 90 public function flush() {
6a488035
TO
91 return FALSE;
92 }
96025800 93
c31de879
TO
94 public function clear() {
95 return $this->flush();
96 }
97
6a488035 98}