Neos\Cache\CacheFactory::instantiateBackend PHP Метод

instantiateBackend() защищенный Метод

protected instantiateBackend ( string $backendObjectName, array $backendOptions ) : Neos\Cache\Backend\BackendInterface
$backendObjectName string
$backendOptions array
Результат Neos\Cache\Backend\BackendInterface
    protected function instantiateBackend($backendObjectName, $backendOptions)
    {
        $backend = new $backendObjectName($this->environmentConfiguration, $backendOptions);
        if (!$backend instanceof BackendInterface) {
            throw new InvalidBackendException('"' . $backendObjectName . '" is not a valid cache backend object.', 1216304302);
        }
        return $backend;
    }

Usage Example

 /**
  * @param string $backendObjectName
  * @param array $backendOptions
  * @param boolean $persistent
  * @return FlowAbstractBackend|Backend\BackendInterface
  * @throws Exception\InvalidBackendException
  */
 protected function instantiateBackend($backendObjectName, $backendOptions, $persistent = false)
 {
     if ($persistent && is_a($backendObjectName, SimpleFileBackend::class, true) && (!isset($backendOptions['cacheDirectory']) || $backendOptions['cacheDirectory'] === '') && (!isset($backendOptions['baseDirectory']) || $backendOptions['baseDirectory'] === '')) {
         $backendOptions['baseDirectory'] = FLOW_PATH_DATA . 'Persistent/';
     }
     if (is_a($backendObjectName, FlowSpecificBackendInterface::class, true)) {
         return $this->instantiateFlowSpecificBackend($backendObjectName, $backendOptions);
     }
     return parent::instantiateBackend($backendObjectName, $backendOptions);
 }