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->get($key)
mixed nullGet 
$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.200

Twitter updates

  • Introduction to an invoice application profile being built in ProcessWire: More
    30 September 2022
  • Stumbling upon a really nice ProcessWire-powered website, plus core updates including API improvements for ProcessWire forms— More
    9 September 2022
  • Useful new dot-and-bracket syntax options added for page.get() method— More
    2 September 2022

Latest news

  • ProcessWire Weekly #438
    In the 348th issue of ProcessWire Weekly we're going to cover the latest weekly update from Ryan, take a closer look at a couple of new third party modules, and more. Read on!
    Weekly.pw / 1 October 2022
  • Multi-language field translation export/import
    In this post we cover the details of a new module that enables export and import capabilities for multi-language fields in ProcessWire.
    Blog / 5 August 2022
  • Subscribe to weekly ProcessWire news

“Indeed, if ProcessWire can be considered as a CMS in its own right, it also offers all the advantages of a CMF (Content Management Framework). Unlike other solutions, the programmer is not forced to follow the proposed model and can integrate his/her ways of doing things.” —Guy Verville, Spiria Digital Inc.