Wire is the base class for most ProcessWire classes and modules.

Wire derived classes have a $this->wire() method that provides access to ProcessWire's API variables. API variables can also be accessed as local properties in most cases. Wire also provides basic methods for tracking changes and managing runtime notices specific to the instance.

Wire derived classes can specify which methods are "hookable" by precending the method name with 3 underscores like this: ___myMethod(). Other classes can then hook either before or after that method, modifying arguments or return values. Several other hook methods are also provided for Wire derived classes that are hooking into others.


Click any linked item for full usage details and examples. Hookable methods are indicated with the icon.

Common / Notices / Identification / For hooks / Hooks / Changes / Api helpers

Show “Wire”             Show Arguments        

Common

NameReturnSummary 
Wire::wire()
mixedGet an API variable, create an API variable, or inject dependencies.

Notices

NameReturnSummary 
Wire::error($text)
$thisRecord an non-fatal error message in the system-wide notices.
Wire::errors()
Notices, array or stringReturn or manage errors recorded by just this object or all Wire objects
Wire::log()
WireLogLog a message for this class
Wire::message($text)
$thisRecord an informational or “success” message in the system-wide notices.
Wire::messages()
Notices, array or stringReturn or manage messages recorded by just this object or all Wire objects
Wire::warning($text)
$thisRecord a warning error message in the system-wide notices.
Wire::warnings()
Notices, array or stringReturn or manage warnings recorded by just this object or all Wire objects

Identification

NameReturnSummary 
Wire::className()
stringReturn this object’s class name
Wire::getInstanceNum()
intGet this Wire object’s instance number

For hooks

These methods are only useful for hooking and should not be called directly.

NameReturnSummary 
Wire::callUnknown(string $method, array $arguments)
null or mixedIf method call resulted in no handler, this hookable method is called.
Wire::changed(string $what)
(nothing)Hookable method that is called whenever a property has changed while change tracking is enabled.
Wire::trackException($e)
$thisHookable method called when an Exception occurs

Hooks

Methods for managing hooks for an object instance or class.

Changes

Methods to support tracking and retrieval of changes made to the object.

NameReturnSummary 
Wire::getChanges()
arrayReturn an array of properties that have changed while change tracking was on.
Wire::isChanged()
boolDoes the object have changes, or has the given property changed?
Wire::resetTrackChanges()
$thisClears out any tracked changes and turns change tracking ON or OFF
Wire::setTrackChanges()
$thisTurn change tracking ON or OFF
Wire::trackChange(string $what)
$thisTrack a change to a property in this object
Wire::trackChanges()
bool or intReturns true if change tracking is on, or false if it is not.
Wire::trackChangesOn const2For setTrackChanges() method flags: track names only (default).
Wire::trackChangesValues const4For setTrackChanges() method flags: track names and values.
Wire::untrackChange(string $what)
$thisUntrack a change to a property in this object

Api helpers

Shortcuts to ProcessWire API variables. Access without any arguments returns the API variable. Some support arguments as shortcuts to methods in the API variable.

NameReturnSummary 
Wire::cache()
WireCache or string or array or PageArray or nullAccess the $cache API variable as a function.
Wire::config()
Config or mixedAccess the $config API variable as a function.
Wire::database()
WireDatabasePDOAccess the $database API variable as a function.
Wire::datetime()
WireDateTime or string or intAccess the $datetime API variable as a function.
Wire::fields()
Field or Fields or nullAccess the $fields API variable as a function.
Wire::files()
WireFileToolsAccess the $files API variable as a function.
Wire::input()
WireInput or WireInputData or array or string or int or nullAccess the $input API variable as a function.
Wire::inputCookie()
WireInputData or string or int or array or nullAccess the $input->cookie() API variable as a function.
Wire::inputGet()
WireInputData or string or int or array or nullAccess the $input->get() API variable as a function.
Wire::inputPost()
WireInputData or string or int or array or nullAccess the $input->post() API variable as a function.
Wire::languages()
Languages or Language or NullPage or nullAccess the $languages API variable as a function.
Wire::modules()
Modules or Module or ConfigurableModule or nullAccess the $modules API variable as a function.
Wire::page()
Page or MixedAccess the $page API variable as a function.
Wire::pages()
Pages or PageArray or Page or NullPageAccess the $pages API variable as a function.
Wire::permissions()
Permissions or Permission or PageArray or null or NullPageAccess the $permissions API variable as a function.
Wire::roles()
Roles or Role or PageArray or null or NullPageAccess the $roles API variable as a function.
Wire::sanitizer()
Sanitizer or string or int or array or null or mixedAccess the $sanitizer API variable as a function.
Wire::session()
Session or mixedAccess the $session API variable as a function.
Wire::templates()
Templates or Template or nullAccess the $templates API variable as a function.
Wire::user()
User or mixedAccess the $user API variable as a function.
Wire::users()
Users or PageArray or User or mixedAccess the $users API variable as a function.

API reference based on ProcessWire core version 3.0.62