$hooks->hasHook() method

Similar to isHooked(), returns true if the method or property hooked, false if it isn't.

Accomplishes the same thing as the isHooked() method, but this is more accurate, and potentially slower than isHooked(). Less for optimization use, more for accuracy use.

It checks for both static hooks and local hooks, but only accepts a method() or property name as an argument (i.e. no Class::something) since the class context is assumed from the current instance. Unlike isHooked() it also analyzes the instance's class parents for hooks, making it more accurate. As a result, this method works well for more than just optimization use.

If checking for a hooked method, it should be in the form "method()". If checking for a hooked property, it should be in the form "property".

Usage

$bool = $hooks->hasHook(Wire $object, string $method);

Arguments

NameType(s)Description
objectWire
methodstring

Method() or property name

Return value

bool

Exceptions

Method can throw exceptions on error:

  • WireException - whe you try to call it with a Class::something() type method.


$hooks methods and properties

API reference based on ProcessWire core version 3.0.236

Latest news

  • ProcessWire Weekly #549
    In the 549th issue of ProcessWire Weekly we’re going to check out the latest core updates, highlight one older yet still very relevant third party module, and more. Read on!
    Weekly.pw / 17 November 2024
  • Custom Fields Module
    This week we look at a new ProFields module named Custom Fields. This module provides a way to rapidly build out ProcessWire fields that contain any number of subfields/properties within them.
    Blog / 30 August 2024
  • Subscribe to weekly ProcessWire news

“ProcessWire is like a breath of fresh air. So powerful yet simple to build with and customise, and web editors love it too.” —Margaret Chatwin, Web developer