-
Notifications
You must be signed in to change notification settings - Fork 30
/
Copy pathBaseCache.php
82 lines (75 loc) · 1.8 KB
/
BaseCache.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
<?php
/**
* BehatMage
*
* NOTICE OF LICENSE
*
* This source file is subject to the MIT License, that is bundled with this
* package in the file LICENSE.
* It is also available through the world-wide-web at this URL:
*
* http://opensource.org/licenses/MIT
*
* If you did not receive a copy of the license and are unable to obtain it
* through the world-wide-web, please send an email
* to <magetest@sessiondigital.com> so we can send you a copy immediately.
*
* @category MageTest
* @package MagentoExtension
* @subpackage Service\Cache
*
* @copyright Copyright (c) 2012-2013 MageTest team and contributors.
*/
namespace MageTest\MagentoExtension\Service\Cache;
use Mage_Core_Model_App;
/**
* ConfigurationCache
*
* @category MageTest
* @package MagentoExtension
* @subpackage Service\Cache
*
* @author MageTest team (https://github.com/MageTest/BehatMage/contributors)
*/
abstract class BaseCache
{
/**
* List of cache types to clear.
*
* For example:
* - config
* - block_html
* - layout
* - translate
*
* @var array
*/
protected $cacheTypes = array();
/**
* Internal instance of MageApp
*
* @var Mage_Core_Model_App
**/
protected $mageApp;
public function __construct(Mage_Core_Model_App $mageApp)
{
$this->mageApp = $mageApp;
}
public function clear()
{
$this->mageApp->cleanCache($this->getCacheTags());
}
/**
* All listed types must be declared under global/cache/types
*
* @return array
*/
private function getCacheTags()
{
$tags = array();
foreach ($this->cacheTypes as $type) {
$tags = array_merge($tags, $this->mageApp->getCacheInstance()->getTagsByType($type));
}
return $tags;
}
}