original_string: public static function dropCache($key = null)
      {
          if ($key !== null && isset(static::$_cache[$key])) {
              unset(static::$_cache[$key]);
          } else {
              static::$_cache = [];
          }
      }
code: public static function dropCache($key = null)
      {
          if ($key !== null && isset(static::$_cache[$key])) {
              unset(static::$_cache[$key]);
          } else {
              static::$_cache = [];
          }
      }
code_tokens: public static function dropCache ( $ key = null ) { if ( $ key !== null && isset ( static :: $ _cache [ $ key ] ) ) { unset ( static :: $ _cache [ $ key ] ) ; } else { static :: $ _cache = [ ] ; } }
docstring: Drops the entire cache or a specific key.
  
  ## Usage:
  
  ```php
  static::dropCache('user_cache'); // removes "user_cache" only
  static::dropCache(); // removes every key
  ```
  
  @param string|null $key Cache key to clear, if NULL the entire cache
  will be erased.
  @return void
docstring_tokens: Drops the entire cache or a specific key .