wireInstanceOf() function

Does given instance (or class) represent an instance of the given className (or class names)?

Since version 3.0.108 the $className argument may also represent an interface, array of interfaces, or mixed array of interfaces and class names. Previous versions did not support interfaces unless the $instance argument was an object.

Usage

// basic usage
$bool = wireInstanceOf($instance, $className);

// usage with all arguments
$bool = wireInstanceOf($instance, $className, bool $autoload = true);

Arguments

NameType(s)Description
instanceobject, string

Object instance to test (or string of its class name).

classNamestring, array

Class/interface name or array of class/interface names to test against.

autoload (optional)bool

Allow PHP to autoload the class? (default=true)

Return value

bool string

Returns one of the following:

  • false (bool): if not an instance (whether $className argument is string or array).
  • true (bool): if given a single $className (string) and $instance is an instance of it.
  • ClassName (string): first matching class/interface name if $className was an array of classes to test.

Functions methods and properties

API reference based on ProcessWire core version 3.0.244

Latest news

  • ProcessWire Weekly #558
    In the 558th issue of ProcessWire Weekly we'll check out the blog post that introduces ProcessWire 3.0.244, share some recent ProcessWire highlights, and more. Read on!
    Weekly.pw / 18 January 2025
  • ProcessWire 3.0.244 new main/master version
    ProcessWire 3.0.244 is our newest main/master/stable version. It's been more than a year in the making and is packed with tons of new features, issue fixes, optimizations and more. This post covers all the details.
    Blog / 18 January 2025
  • Subscribe to weekly ProcessWire news

“…building with ProcessWire was a breeze, I really love all the flexibility the system provides. I can’t imagine using any other CMS in the future.” —Thomas Aull