original_string: public static function engine($config)
      {
          if (!static::$_enabled) {
              return new NullEngine();
          }
  
          $registry = static::getRegistry();
  
          if (isset($registry->{$config})) {
              return $registry->{$config};
          }
  
          static::_buildEngine($config);
  
          return $registry->{$config};
      }
code: public static function engine($config)
      {
          if (!static::$_enabled) {
              return new NullEngine();
          }
  
          $registry = static::getRegistry();
  
          if (isset($registry->{$config})) {
              return $registry->{$config};
          }
  
          static::_buildEngine($config);
  
          return $registry->{$config};
      }
code_tokens: public static function engine ( $ config ) { if ( ! static :: $ _enabled ) { return new NullEngine ( ) ; } $ registry = static :: getRegistry ( ) ; if ( isset ( $ registry -> { $ config } ) ) { return $ registry -> { $ config } ; } static :: _buildEngine ( $ config ) ; return $ registry -> { $ config } ; }
docstring: Fetch the engine attached to a specific configuration name.
  
  If the cache engine & configuration are missing an error will be
  triggered.
  
  @param string $config The configuration name you want an engine for.
  @return \Cake\Cache\CacheEngine When caching is disabled a null engine will be returned.
  @deprecated 3.7.0 Use Cache::pool() instead. In 4.0 all cache engines will implement the
  PSR16 interface and this method does not return objects implementing that interface.
docstring_tokens: Fetch the engine attached to a specific configuration name .