HookEvent class

HookEvent is a type provided to hook functions with information about the event.

// Example
$wire->addHookAfter('Pages::saved', function(HookEvent $event) {
  $page = $event->arguments(0);
  $event->message("You saved page $page->path");
}); 

Click any linked item for full usage details and examples. Hookable methods are indicated with the icon. In addition to those shown below, the HookEvent class also inherits all the methods and properties of: WireData and Wire.

Show $var?             Show args?        

Common

NameReturnSummary 
$event->arguments()
array null mixedRetrieve or set a hooked function argument
Can also be used as property: $event->arguments
 
$event->argumentsByName()
mixed arrayReturns an array of all arguments indexed by name, or the value of a single specified argument 
$event->cancelHooks bool When true, all remaining hooks will be cancelled, making this HookEvent the last one (be careful with this). 
$event->id string A unique identifier string that may be used with a call to `Wire::removeHook()`. 
$event->method string The name of the method that was called to generate the Hook event.  
$event->object Wire WireData WireArray Module Instance of the object where the Hook event originated.  
$event->options array An optional array of user-specified data that gets sent to the hooked function. The hook handling method may access it from $event->data. Also includes all the default hook properties.  
$event->removeHook($hookId)
HookEvent WireDataRemove a hook by ID 
$event->replace bool Set to boolean true in a 'before' hook if you want to prevent execution of the original hooked function. In such a case, your hook is replacing the function entirely. Not recommended, so be careful with this. 
$event->return mixed Applicable only for 'after' or ('replace' + 'before' hooks), contains the value returned by the above mentioned method. The hook handling method may modify this return value.  
$event->when string In an active hook, contains either the string 'before' or 'after', indicating whether it is executing before or after the hooked method.  

Additional methods and properties

In addition to the methods and properties above, HookEvent also inherits the methods and properties of these classes:

API reference based on ProcessWire core version 3.0.168

Twitter updates

  • There’s a new modules directory on the ProcessWire site now up and running. In this post we’ll cover a few details about what’s changed and what’s new—More
    20 November 2020
  • ProcessWire 3.0.168 core updates — More
    26 October 2020
  • This week a 2nd new module for processing Stripe payments has been added to FormBuilder. Unlike our other Stripe Inputfield, this new one supports 3D Secure (SCA) payments. We’ll take a closer look at it in this post, plus a live demo— More
    16 October 2020

Latest news

  • ProcessWire Weekly #341
    In the 341st issue of ProcessWire Weekly we're going to check out the latest processwire.com blog post, introduce upcoming commercial module called NiftyPasswordsPlus, and check out a brand new site of the week. Read on!
    Weekly.pw / 21 November 2020
  • New ProcessWire modules directory
    There’s a new modules directory on the ProcessWire site now up and running. In this post we’ll cover a few details about what’s changed and what’s new.
    Blog / 20 November 2020
  • Subscribe to weekly ProcessWire news

“We chose ProcessWire because of its excellent architecture, modular extensibility and the internal API. The CMS offers the necessary flexibility and performance for such a complex website like superbude.de. ProcessWire offers options that are only available for larger systems, such as Drupal, and allows a much slimmer development process.” —xport communication GmbH