original_string: protected function _configDelete($key)
      {
          if (strpos($key, '.') === false) {
              unset($this->_config[$key]);
  
              return;
          }
  
          $update =& $this->_config;
          $stack = explode('.', $key);
          $length = count($stack);
  
          foreach ($stack as $i => $k) {
              if (!is_array($update)) {
                  throw new Exception(sprintf('Cannot unset %s value', $key));
              }
  
              if (!isset($update[$k])) {
                  break;
              }
  
              if ($i === $length - 1) {
                  unset($update[$k]);
                  break;
              }
  
              $update =& $update[$k];
          }
      }
code: protected function _configDelete($key)
      {
          if (strpos($key, '.') === false) {
              unset($this->_config[$key]);
  
              return;
          }
  
          $update =& $this->_config;
          $stack = explode('.', $key);
          $length = count($stack);
  
          foreach ($stack as $i => $k) {
              if (!is_array($update)) {
                  throw new Exception(sprintf('Cannot unset %s value', $key));
              }
  
              if (!isset($update[$k])) {
                  break;
              }
  
              if ($i === $length - 1) {
                  unset($update[$k]);
                  break;
              }
  
              $update =& $update[$k];
          }
      }
code_tokens: protected function _configDelete ( $ key ) { if ( strpos ( $ key , '.' ) === false ) { unset ( $ this -> _config [ $ key ] ) ; return ; } $ update = & $ this -> _config ; $ stack = explode ( '.' , $ key ) ; $ length = count ( $ stack ) ; foreach ( $ stack as $ i => $ k ) { if ( ! is_array ( $ update ) ) { throw new Exception ( sprintf ( 'Cannot unset %s value' , $ key ) ) ; } if ( ! isset ( $ update [ $ k ] ) ) { break ; } if ( $ i === $ length - 1 ) { unset ( $ update [ $ k ] ) ; break ; } $ update = & $ update [ $ k ] ; } }
docstring: Deletes a single config key.
  
  @param string $key Key to delete.
  @return void
  @throws \Cake\Core\Exception\Exception if attempting to clobber existing config
docstring_tokens: Deletes a single config key .