[Cache] Check if class is instantiable

This commit is contained in:
logmanoriginal 2018-11-15 19:36:01 +01:00
parent 6e70d461e1
commit 1b34d9860e

View file

@ -61,7 +61,7 @@ class Cache {
* @throws \Exception if the requested cache file doesn't exist in the * @throws \Exception if the requested cache file doesn't exist in the
* working directory. * working directory.
* @param string $name Name of the cache object. * @param string $name Name of the cache object.
* @return object The cache object. * @return object|bool The cache object or false if the class is not instantiable.
*/ */
public static function create($name){ public static function create($name){
if(!self::isCacheName($name)) { if(!self::isCacheName($name)) {
@ -76,7 +76,11 @@ class Cache {
require_once $filePath; require_once $filePath;
return new $name(); if((new \ReflectionClass($name))->isInstantiable()) {
return new $name();
}
return false;
} }
/** /**