original_string: public function delete($key)
      {
          $this->_load($key);
  
          $this->_values = Hash::remove($this->_values, $key);
          $parts = explode('.', $key);
          $top = $parts[0];
  
          if (isset($this->_values[$top])) {
              $this->_write($top, $this->_values[$top]);
          } else {
              $this->_delete($top);
          }
      }
code: public function delete($key)
      {
          $this->_load($key);
  
          $this->_values = Hash::remove($this->_values, $key);
          $parts = explode('.', $key);
          $top = $parts[0];
  
          if (isset($this->_values[$top])) {
              $this->_write($top, $this->_values[$top]);
          } else {
              $this->_delete($top);
          }
      }
code_tokens: public function delete ( $ key ) { $ this -> _load ( $ key ) ; $ this -> _values = Hash :: remove ( $ this -> _values , $ key ) ; $ parts = explode ( '.' , $ key ) ; $ top = $ parts [ 0 ] ; if ( isset ( $ this -> _values [ $ top ] ) ) { $ this -> _write ( $ top , $ this -> _values [ $ top ] ) ; } else { $ this -> _delete ( $ top ) ; } }
docstring: Delete a cookie value
  
  You must use this method before any output is sent to the browser.
  Failure to do so will result in header already sent errors.
  
  Deleting a top level key will delete all keys nested within that key.
  For example deleting the `User` key, will also delete `User.email`.
  
  @param string $key Key of the value to be deleted
  @return void
docstring_tokens: Delete a cookie value