Skip to content
This repository has been archived by the owner on Jan 8, 2020. It is now read-only.

Commit

Permalink
[NS] Zend_Cache refactoring
Browse files Browse the repository at this point in the history
- Created Backend, Frontend interfaces
- Renamed "Extended" interface to ExtendedBackend
- Moved Core to Frontend\Core
- Fixed Zend\Locale to typehint on Zend\Cache\Frontend and default to
  Frontend\Core
  • Loading branch information
weierophinney committed Mar 30, 2010
1 parent cf5f1f6 commit fc9fa42
Show file tree
Hide file tree
Showing 35 changed files with 361 additions and 168 deletions.
2 changes: 1 addition & 1 deletion README-DEV.txt
Expand Up @@ -18,7 +18,7 @@ First pass
[X] Zend_Debug
[X] Zend_Log
Would need to ignore Firebug writer for now, and potentially Db writer
[ ] Zend_Cache
[X] Zend_Cache
[X] Zend_Locale
[X] Zend_Date
[ ] Zend_Translate
Expand Down
Expand Up @@ -23,16 +23,15 @@
/**
* @namespace
*/
namespace Zend\Cache\Backend;
use \Zend\Cache;
namespace Zend\Cache;

/**
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
interface BackendInterface
interface Backend
{
/**
* Set the frontend directives
Expand Down Expand Up @@ -86,19 +85,18 @@ public function remove($id);
* Clean some cache records
*
* Available modes are :
* Zend_Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used)
* Zend_Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used)
* Zend_Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags
* Cache::CLEANING_MODE_ALL (default) => remove all cache entries ($tags is not used)
* Cache::CLEANING_MODE_OLD => remove too old cache entries ($tags is not used)
* Cache::CLEANING_MODE_MATCHING_TAG => remove cache entries matching all given tags
* ($tags can be an array of strings or a single string)
* Zend_Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags}
* Cache::CLEANING_MODE_NOT_MATCHING_TAG => remove cache entries not {matching one of the given tags}
* ($tags can be an array of strings or a single string)
* Zend_Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags
* Cache::CLEANING_MODE_MATCHING_ANY_TAG => remove cache entries matching any given tags
* ($tags can be an array of strings or a single string)
*
* @param string $mode Clean mode
* @param array $tags Array of tags
* @return boolean true if no problem
*/
public function clean($mode = Cache\CacheCache\Cache::CLEANING_MODE_ALL, $tags = array());

public function clean($mode = Cache::CLEANING_MODE_ALL, $tags = array());
}
Expand Up @@ -36,7 +36,7 @@
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Backend
abstract class AbstractBackend
{
/**
* Frontend or Core directives
Expand Down
10 changes: 5 additions & 5 deletions library/Zend/Cache/Backend/Apc.php
Expand Up @@ -28,20 +28,20 @@

/**
* @uses \Zend\Cache\Cache
* @uses \Zend\Cache\Backend\Backend
* @uses \Zend\Cache\Backend\ExtendedInterface
* @uses \Zend\Cache\Backend\AbstractBackend
* @uses \Zend\Cache\Backend\ExtendedBackend
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Apc extends Backend implements ExtendedInterface
class Apc extends AbstractBackend implements ExtendedBackend
{
/**
* Log message
*/
const TAGS_UNSUPPORTED_BY_CLEAN_OF_APC_BACKEND = 'Zend_Cache_Backend_Apc::clean() : tags are unsupported by the Apc backend';
const TAGS_UNSUPPORTED_BY_SAVE_OF_APC_BACKEND = 'Zend_Cache_Backend_Apc::save() : tags are unsupported by the Apc backend';
const TAGS_UNSUPPORTED_BY_CLEAN_OF_APC_BACKEND = 'Zend\\Cache\\Backend\\Apc::clean() : tags are unsupported by the Apc backend';
const TAGS_UNSUPPORTED_BY_SAVE_OF_APC_BACKEND = 'Zend\\Cache\\Backend\\Apc::save() : tags are unsupported by the Apc backend';

/**
* Constructor
Expand Down
8 changes: 4 additions & 4 deletions library/Zend/Cache/Backend/BlackHole.php
Expand Up @@ -28,16 +28,16 @@

/**
* @uses \Zend\Cache\Cache
* @uses \Zend\Cache\Backend\Backend
* @uses \Zend\Cache\Backend\ExtendedInterface
* @uses \Zend\Cache\Backend\AbstractBackend
* @uses \Zend\Cache\Backend\ExtendedBackend
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class BlackHole
extends Backend
implements ExtendedInterface
extends AbstractBackend
implements ExtendedBackend
{
/**
* Test if a cache is available for the given id and (if yes) return it (false else)
Expand Down
Expand Up @@ -25,14 +25,16 @@
*/
namespace Zend\Cache\Backend;

use Zend\Cache\Backend;

/**
* @uses \Zend\Cache\Backend\BackendInterface
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
interface ExtendedInterface extends BackendInterface
interface ExtendedBackend extends Backend
{

/**
Expand Down
6 changes: 3 additions & 3 deletions library/Zend/Cache/Backend/File.php
Expand Up @@ -28,14 +28,14 @@

/**
* @uses \Zend\Cache\Cache
* @uses \Zend\Cache\Backend\Backend
* @uses Zend_Cache_Backend_ExtendedInterfaceInterface
* @uses \Zend\Cache\Backend\AbstractBackend
* @uses \Zend\Cache\Backend\ExtendedBackend
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class File extends Backend implements ExtendedInterface
class File extends AbstractBackend implements ExtendedBackend
{
/**
* Available options
Expand Down
6 changes: 3 additions & 3 deletions library/Zend/Cache/Backend/Memcached.php
Expand Up @@ -28,14 +28,14 @@

/**
* @uses \Zend\Cache\Cache
* @uses \Zend\Cache\Backend\Backend
* @uses \Zend\Cache\Backend\ExtendedInterface
* @uses \Zend\Cache\Backend\AbstractBackend
* @uses \Zend\Cache\Backend\ExtendedBackend
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Memcached extends Backend implements ExtendedInterface
class Memcached extends AbstractBackend implements ExtendedBackend
{
/**
* Default Values
Expand Down
6 changes: 3 additions & 3 deletions library/Zend/Cache/Backend/Sqlite.php
Expand Up @@ -28,14 +28,14 @@

/**
* @uses \Zend\Cache\Cache
* @uses \Zend\Cache\Backend\Backend
* @uses \Zend\Cache\Backend\ExtendedInterface
* @uses \Zend\Cache\Backend\AbstractBackend
* @uses \Zend\Cache\Backend\ExtendedBackend
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Sqlite extends Backend implements ExtendedInterface
class Sqlite extends AbstractBackend implements ExtendedBackend
{
/**
* Available options
Expand Down
19 changes: 10 additions & 9 deletions library/Zend/Cache/Backend/StaticBackend.php
Expand Up @@ -24,20 +24,21 @@
* @namespace
*/
namespace Zend\Cache\Backend;
use Zend\Cache;
use Zend\Cache,
Zend\Cache\Backend;

/**
* @uses \Zend\Cache\Cache
* @uses \Zend\Cache\Backend\Backend
* @uses \Zend\Cache\Backend\BackendInterface
* @uses \Zend\Cache\Backend
* @uses \Zend\Cache\Backend\AbstractBackend
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class StaticBackend
extends Backend
implements BackendInterface
extends AbstractBackend
implements Backend
{
const INNER_CACHE_NAME = 'zend_cache_backend_static_tagcache';

Expand All @@ -60,7 +61,7 @@ class StaticBackend

/**
* Cache for handling tags
* @var \Zend\Cache\Core
* @var \Zend\Cache\Frontend
*/
protected $_tagCache = null;

Expand Down Expand Up @@ -456,10 +457,10 @@ public function clean($mode = Cache\Cache::CLEANING_MODE_ALL, $tags = array())
* should be completely cleaned as the mapping of tags to caches will
* have been irrevocably lost.
*
* @param \Zend\Cache\Core
* @param \Zend\Cache\Frontend
* @return void
*/
public function setInnerCache(Cache\Core $cache)
public function setInnerCache(Cache\Frontend $cache)
{
$this->_tagCache = $cache;
$this->_options['tag_cache'] = $cache;
Expand All @@ -468,7 +469,7 @@ public function setInnerCache(Cache\Core $cache)
/**
* Get the Inner Cache if set
*
* @return \Zend\Cache\Core
* @return \Zend\Cache\Frontend
*/
public function getInnerCache()
{
Expand Down
6 changes: 3 additions & 3 deletions library/Zend/Cache/Backend/TestBackend.php
Expand Up @@ -28,14 +28,14 @@

/**
* @uses \Zend\Cache\Cache
* @uses \Zend\Cache\Backend\Backend
* @uses \Zend\Cache\Backend\BackendInterface
* @uses \Zend\Cache\Backend\AbstractBackend
* @uses \Zend\Cache\Backend\ExtendedBackend
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class TestBackend extends Backend implements ExtendedInterface
class TestBackend extends AbstractBackend implements ExtendedBackend
{
/**
* Available options
Expand Down
6 changes: 3 additions & 3 deletions library/Zend/Cache/Backend/TwoLevels.php
Expand Up @@ -28,14 +28,14 @@

/**
* @uses \Zend\Cache\Cache
* @uses \Zend\Cache\Backend\Backend
* @uses \Zend\Cache\Backend\ExtendedInterface
* @uses \Zend\Cache\Backend\AbstractBackend
* @uses \Zend\Cache\Backend\ExtendedBackend
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class TwoLevels extends Backend implements ExtendedInterface
class TwoLevels extends AbstractBackend implements ExtendedBackend
{
/**
* Available options
Expand Down
9 changes: 5 additions & 4 deletions library/Zend/Cache/Backend/Xcache.php
Expand Up @@ -24,18 +24,19 @@
* @namespace
*/
namespace Zend\Cache\Backend;
use Zend\Cache;
use Zend\Cache,
Zend\Cache\Backend;

/**
* @uses \Zend\Cache\Cache
* @uses \Zend\Cache\Backend\Backend
* @uses \Zend\Cache\Backend\BackendInterface
* @uses \Zend\Cache\Backend
* @uses \Zend\Cache\Backend\AbstractBackend
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Xcache extends Backend implements BackendInterface
class Xcache extends AbstractBackend implements Backend
{

/**
Expand Down
9 changes: 5 additions & 4 deletions library/Zend/Cache/Backend/ZendPlatform.php
Expand Up @@ -24,20 +24,21 @@
* @namespace
*/
namespace Zend\Cache\Backend;
use Zend\Cache;
use Zend\Cache,
Zend\Cache\Backend;

/**
* Impementation of Zend Cache Backend using the Zend Platform (Output Content Caching)
*
* @uses \Zend\Cache\Cache
* @uses \Zend\Cache\Backend\Backend
* @uses \Zend\Cache\Backend\BackendInterface
* @uses \Zend\Cache\Backend
* @uses \Zend\Cache\Backend\AbstractBackend
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class ZendPlatform extends Backend implements BackendInterface
class ZendPlatform extends AbstractBackend implements Backend
{
/**
* internal ZP prefix
Expand Down
Expand Up @@ -24,18 +24,19 @@
* @namespace
*/
namespace Zend\Cache\Backend\ZendServer;
use Zend\Cache;
use Zend\Cache\Backend,
Zend\Cache;

/**
* @uses \Zend\Cache\Cache
* @uses \Zend\Cache\Backend\Backend
* @uses \Zend\Cache\Backend\BackendInterface
* @uses \Zend\Cache\Backend
* @uses \Zend\Cache\Backend\AbstractBackend
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
abstract class ZendServer extends Cache\Backend\Backend implements Cache\Backend\BackendInterface
abstract class AbstractZendServer extends Cache\Backend\AbstractBackend implements Backend
{
/**
* Available options
Expand Down Expand Up @@ -148,7 +149,7 @@ public function save($data, $id, $tags = array(), $specificLifetime = false)
);

if (count($tags) > 0) {
$this->_log('Zend_Cache_Backend_ZendServer::save() : tags are unsupported by the ZendServer backends');
$this->_log('Zend\\Cache\\Backend\\ZendServer::save() : tags are unsupported by the ZendServer backends');
}

return $this->_store($data, $id, $lifetime) &&
Expand Down Expand Up @@ -184,7 +185,7 @@ public function remove($id)
* @throws \Zend\Cache\Exception
* @return boolean true if no problem
*/
public function clean($mode = Cache\CacheCache\Cache::CLEANING_MODE_ALL, $tags = array())
public function clean($mode = Cache\Cache::CLEANING_MODE_ALL, $tags = array())
{
switch ($mode) {
case Cache\Cache::CLEANING_MODE_ALL:
Expand Down
10 changes: 6 additions & 4 deletions library/Zend/Cache/Backend/ZendServer/Disk.php
Expand Up @@ -24,17 +24,19 @@
* @namespace
*/
namespace Zend\Cache\Backend\ZendServer;
use Zend\Cache,
Zend\Cache\Backend;

/**
* @uses \Zend\Cache\Cache
* @uses \Zend\Cache\Backend\BackendInterface
* @uses \Zend\Cache\Backend\ZendServer\ZendServer
* @uses \Zend\Cache\Backend
* @uses \Zend\Cache\Backend\ZendServer\AbstractZendServer
* @package Zend_Cache
* @subpackage Zend_Cache_Backend
* @copyright Copyright (c) 2005-2010 Zend Technologies USA Inc. (http://www.zend.com)
* @license http://framework.zend.com/license/new-bsd New BSD License
*/
class Disk extends ZendServer implements \Zend\Cache\Backend\BackendInterface
class Disk extends AbstractZendServer implements Backend
{
/**
* Constructor
Expand All @@ -45,7 +47,7 @@ class Disk extends ZendServer implements \Zend\Cache\Backend\BackendInterface
public function __construct(array $options = array())
{
if (!function_exists('zend_disk_cache_store')) {
\Zend\Cache\Cache::throwException('Zend_Cache_ZendServer_Disk backend has to be used within Zend Server environment.');
Cache\Cache::throwException('Zend_Cache_ZendServer_Disk backend has to be used within Zend Server environment.');
}
parent::__construct($options);
}
Expand Down

0 comments on commit fc9fa42

Please sign in to comment.