original_string: public function bindHook ($key, $closure, $precedence = 0)
  		{
  			if (isset($this->hooks[$key])) {
  				$this->hooks[$key]->bind($closure, $precedence);
  			} else {
  				throw new UnregisteredHookException('Attempt to bind unregistered hook ' . $key);
  			}
  		}
code: public function bindHook ($key, $closure, $precedence = 0)
  		{
  			if (isset($this->hooks[$key])) {
  				$this->hooks[$key]->bind($closure, $precedence);
  			} else {
  				throw new UnregisteredHookException('Attempt to bind unregistered hook ' . $key);
  			}
  		}
code_tokens: public function bindHook ( $ key , $ closure , $ precedence = 0 ) { if ( isset ( $ this -> hooks [ $ key ] ) ) { $ this -> hooks [ $ key ] -> bind ( $ closure , $ precedence ) ; } else { throw new UnregisteredHookException ( 'Attempt to bind unregistered hook ' . $ key ) ; } }
docstring: Binds an action to be taken when a hook is triggered. The hook must be registered before it can be bound to an action.
  
  @see Hook::bind()
  @api
  
  @param string      $key         String identifier of registered hook.
  @param callable    $closure     A closure representing the action to be taken when the hook is triggered.
  @param int         $precedence  Determines the order that the actions will occur in when the hook is triggered, lowest first.
  
  @throws UnregisteredHookException
docstring_tokens: Binds an action to be taken when a hook is triggered . The hook must be registered before it can be bound to an action .