createCacheKey() public static method

Create cache key for storing ConfigObject
public static createCacheKey ( $resource ) : mixed
$resource
return mixed
示例#1
0
 /**
  * ConfigObject is an object representing config data in an OO way
  *
  * @param  array|ArrayObject|AbstractDriver $resource Config resource
  *
  * @param bool                              $cache Store ConfigObject to cache or not
  *
  * @throws ConfigException
  */
 public function __construct($resource = [], $cache = true)
 {
     $driverAbstractClassName = '\\Webiny\\Component\\Config\\Drivers\\AbstractDriver';
     $arrayObjectClassName = '\\Webiny\\Component\\StdLib\\StdObject\\ArrayObject\\ArrayObject';
     // Validate given resources
     if (!$this->isArray($resource) && !$this->isInstanceOf($resource, $driverAbstractClassName) && !$this->isArrayObject($resource)) {
         throw new ConfigException("ConfigObject resource must be a valid array, {$arrayObjectClassName} or {$driverAbstractClassName}");
     }
     if ($this->isInstanceOf($resource, $driverAbstractClassName)) {
         $originalResource = $resource->getResource();
         // Store driver class name
         $this->driverClass = get_class($resource);
         // Get driver to parse resource and return data array
         $resource = $resource->getArray();
     } else {
         $originalResource = $resource;
     }
     $this->resourceType = $this->determineResourceType($originalResource);
     // Build internal data array from array resource
     $this->buildInternalData($resource);
     // Store config to cache
     if ($cache) {
         $this->cacheKey = ConfigCache::createCacheKey($originalResource);
         ConfigCache::setCache($this->cacheKey, $this);
     }
 }