original_string: protected function getCacheKey(array $assets)
      {
          $cacheKey = $this->localPath . implode('|', $assets);
  
          /*
           * Deep hashing
           */
          if ($this->useDeepHashing) {
              $cacheKey .= $this->getDeepHashFromAssets($assets);
          }
  
          /*
           * Extensibility
           */
          $dataHolder = (object) ['key' => $cacheKey];
          Event::fire('cms.combiner.getCacheKey', [$this, $dataHolder]);
          $cacheKey = $dataHolder->key;
  
          return md5($cacheKey);
      }
code: protected function getCacheKey(array $assets)
      {
          $cacheKey = $this->localPath . implode('|', $assets);
  
          /*
           * Deep hashing
           */
          if ($this->useDeepHashing) {
              $cacheKey .= $this->getDeepHashFromAssets($assets);
          }
  
          /*
           * Extensibility
           */
          $dataHolder = (object) ['key' => $cacheKey];
          Event::fire('cms.combiner.getCacheKey', [$this, $dataHolder]);
          $cacheKey = $dataHolder->key;
  
          return md5($cacheKey);
      }
code_tokens: protected function getCacheKey ( array $ assets ) { $ cacheKey = $ this -> localPath . implode ( '|' , $ assets ) ; /*
           * Deep hashing
           */ if ( $ this -> useDeepHashing ) { $ cacheKey .= $ this -> getDeepHashFromAssets ( $ assets ) ; } /*
           * Extensibility
           */ $ dataHolder = ( object ) [ 'key' => $ cacheKey ] ; Event :: fire ( 'cms.combiner.getCacheKey' , [ $ this , $ dataHolder ] ) ; $ cacheKey = $ dataHolder -> key ; return md5 ( $ cacheKey ) ; }
docstring: Builds a unique string based on assets
  @param array $assets Asset files
  @return string Unique identifier
docstring_tokens: Builds a unique string based on assets