mirror of
https://github.com/Lastorder-DC/rhymix.git
synced 2026-01-04 17:21:39 +09:00
Update admin module to use new Cache system
This commit is contained in:
parent
7d80bbe27d
commit
89ae581e55
11 changed files with 32 additions and 16 deletions
|
|
@ -46,7 +46,6 @@ if(file_exists(RX_BASEDIR . 'config/config.user.inc.php'))
|
|||
* Define the list of legacy class names for the autoloader.
|
||||
*/
|
||||
$GLOBALS['RX_AUTOLOAD_FILE_MAP'] = array_change_key_case(array(
|
||||
'CacheBase' => 'classes/cache/CacheHandler.class.php',
|
||||
'CacheHandler' => 'classes/cache/CacheHandler.class.php',
|
||||
'Context' => 'classes/context/Context.class.php',
|
||||
'DB' => 'classes/db/DB.class.php',
|
||||
|
|
|
|||
|
|
@ -64,7 +64,7 @@ class Cache
|
|||
foreach (Storage::readDirectory(__DIR__ . '/drivers/cache', false) as $filename)
|
||||
{
|
||||
$driver_name = substr($filename, 0, -4);
|
||||
$class_name = '\Rhymix\Framework\Drivers\Cache\'' . $driver_name;
|
||||
$class_name = '\Rhymix\Framework\Drivers\Cache\\' . $driver_name;
|
||||
if ($class_name::isSupported())
|
||||
{
|
||||
$result[] = $driver_name;
|
||||
|
|
@ -74,13 +74,30 @@ class Cache
|
|||
}
|
||||
|
||||
/**
|
||||
* Get the currently enabled cache driver.
|
||||
* Get the currently enabled cache driver, or a named driver with the given settings.
|
||||
*
|
||||
* return object|null
|
||||
* @param string $name (optional)
|
||||
* @param array $config (optional)
|
||||
* @return object|null
|
||||
*/
|
||||
public static function getCacheDriver()
|
||||
public static function getCacheDriver($name = null, array $config = [])
|
||||
{
|
||||
return self::$_driver;
|
||||
if ($name === null)
|
||||
{
|
||||
return self::$_driver;
|
||||
}
|
||||
else
|
||||
{
|
||||
$class_name = '\\Rhymix\\Framework\\Drivers\\Cache\\' . $name;
|
||||
if (class_exists($class_name) && $class_name::isSupported() && $class_name::validateSettings($config))
|
||||
{
|
||||
return new $class_name($config);
|
||||
}
|
||||
else
|
||||
{
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
/**
|
||||
|
|
|
|||
2
common/framework/drivers/cache/apc.php
vendored
2
common/framework/drivers/cache/apc.php
vendored
|
|
@ -38,7 +38,7 @@ class APC implements \Rhymix\Framework\Drivers\CacheInterface
|
|||
* @param mixed $config
|
||||
* @return bool
|
||||
*/
|
||||
public function validateSettings($config)
|
||||
public static function validateSettings($config)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
2
common/framework/drivers/cache/file.php
vendored
2
common/framework/drivers/cache/file.php
vendored
|
|
@ -49,7 +49,7 @@ class File implements \Rhymix\Framework\Drivers\CacheInterface
|
|||
* @param mixed $config
|
||||
* @return bool
|
||||
*/
|
||||
public function validateSettings($config)
|
||||
public static function validateSettings($config)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
2
common/framework/drivers/cache/memcached.php
vendored
2
common/framework/drivers/cache/memcached.php
vendored
|
|
@ -66,7 +66,7 @@ class Memcached implements \Rhymix\Framework\Drivers\CacheInterface
|
|||
* @param mixed $config
|
||||
* @return bool
|
||||
*/
|
||||
public function validateSettings($config)
|
||||
public static function validateSettings($config)
|
||||
{
|
||||
if (class_exists('\\Memcached'))
|
||||
{
|
||||
|
|
|
|||
2
common/framework/drivers/cache/redis.php
vendored
2
common/framework/drivers/cache/redis.php
vendored
|
|
@ -68,7 +68,7 @@ class Redis implements \Rhymix\Framework\Drivers\CacheInterface
|
|||
* @param mixed $config
|
||||
* @return bool
|
||||
*/
|
||||
public function validateSettings($config)
|
||||
public static function validateSettings($config)
|
||||
{
|
||||
try
|
||||
{
|
||||
|
|
|
|||
2
common/framework/drivers/cache/wincache.php
vendored
2
common/framework/drivers/cache/wincache.php
vendored
|
|
@ -38,7 +38,7 @@ class WinCache implements \Rhymix\Framework\Drivers\CacheInterface
|
|||
* @param mixed $config
|
||||
* @return bool
|
||||
*/
|
||||
public function validateSettings($config)
|
||||
public static function validateSettings($config)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
2
common/framework/drivers/cache/xcache.php
vendored
2
common/framework/drivers/cache/xcache.php
vendored
|
|
@ -38,7 +38,7 @@ class XCache implements \Rhymix\Framework\Drivers\CacheInterface
|
|||
* @param mixed $config
|
||||
* @return bool
|
||||
*/
|
||||
public function validateSettings($config)
|
||||
public static function validateSettings($config)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -32,7 +32,7 @@ interface CacheInterface
|
|||
* @param mixed $config
|
||||
* @return bool
|
||||
*/
|
||||
public function validateSettings($config);
|
||||
public static function validateSettings($config);
|
||||
|
||||
/**
|
||||
* Get the value of a key.
|
||||
|
|
|
|||
|
|
@ -673,7 +673,7 @@ class adminAdminController extends admin
|
|||
{
|
||||
$cache_config = $vars->object_cache_type;
|
||||
}
|
||||
if (!CacheHandler::isSupport($vars->object_cache_type, $cache_config))
|
||||
if (!Rhymix\Framework\Cache::getCacheDriver($vars->object_cache_type, array($cache_config)))
|
||||
{
|
||||
return new Object(-1, 'msg_cache_handler_not_supported');
|
||||
}
|
||||
|
|
|
|||
|
|
@ -456,8 +456,8 @@ class adminAdminView extends admin
|
|||
{
|
||||
$object_cache_config = array_first($object_cache_config);
|
||||
}
|
||||
$object_cache_types = array('apc', 'file', 'memcached', 'redis', 'wincache');
|
||||
$object_cache_type = preg_match('/^(' . implode('|', $object_cache_types) . ')/', $object_cache_config, $matches) ? $matches[1] : '';
|
||||
$object_cache_types = Rhymix\Framework\Cache::getSupportedDrivers();
|
||||
$object_cache_type = preg_replace('/^memcache$/', 'memcached', preg_replace('/:.+$/', '', $object_cache_config));
|
||||
Context::set('object_cache_types', $object_cache_types);
|
||||
Context::set('object_cache_type', $object_cache_type);
|
||||
if ($object_cache_type)
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue