1: <?php
2: /**
3: * Shared memory cache description.
4: * Extends ElggCache with functions useful to shared memory
5: * style caches (static variables, memcache etc)
6: *
7: * @package Elgg.Core
8: * @subpackage Cache
9: */
10: abstract class ElggSharedMemoryCache extends ElggCache {
11: /**
12: * Namespace variable used to keep various bits of the cache
13: * separate.
14: *
15: * @var string
16: */
17: private $namespace;
18:
19: /**
20: * Set the namespace of this cache.
21: * This is useful for cache types (like memcache or static variables) where there is one large
22: * flat area of memory shared across all instances of the cache.
23: *
24: * @param string $namespace Namespace for cache
25: *
26: * @return void
27: */
28: public function setNamespace($namespace = "default") {
29: $this->namespace = $namespace;
30: }
31:
32: /**
33: * Get the namespace currently defined.
34: *
35: * @return string
36: */
37: public function getNamespace() {
38: return $this->namespace;
39: }
40: }
41: