public static function AvailableEngines($p_path = null)
{
if (is_null($p_path)) {
$path = dirname(__FILE__);
} else {
$path = $p_path;
}
$includeFiles = glob(realpath($path) . '/CacheEngine_*.php');
$engines = array();
foreach ($includeFiles as $includeFile) {
if (preg_match('/CacheEngine_([^.]+)\\.php/', $includeFile, $matches) == 0) {
continue;
}
require_once $includeFile;
$engineName = $matches[1];
$className = "CacheEngine_{$engineName}";
if (class_exists($className)) {
$cacheEngine = new $className();
$engines[$engineName] = array('is_supported' => $cacheEngine->isSupported(), 'page_caching_supported' => $cacheEngine->pageCachingSupported(), 'file' => "{$path}/CacheEngine_{$engineName}.php", 'description' => $cacheEngine->description());
}
}
return $engines;
}