WireData class

WireData is the base data-storage class used by many ProcessWire object types and most modules.

WireData is very much like its parent Wire class with the fundamental difference being that it is designed for runtime data storage. It provides this primarily through the built-in get() and set() methods for getting and setting named properties to WireData objects. The most common example of a WireData object is Page, the type used for all pages in ProcessWire.

Properties set to a WireData object can also be set or accessed directly, like $item->property or using array access like $item[$property]. If you foreach() a WireData object, the default behavior is to iterate all of the properties/values present within it.


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

Show class?             Show args?        

Retrieval

NameReturnSummary 
WireData::and()
WireArrayTake the current item and append the given item(s), returning a new WireArray
WireData::data()
array WireData nullGet or set a low-level data value 
WireData::get($key)
mixed nullRetrieve the value for a previously set property, or retrieve an API variable 
WireData::getArray()
arrayReturns the full array of properties set to this object 
WireData::getDot(string $key)
null mixedGet a property via dot syntax: field.subfield.subfield 
WireData::getIterator()
ArrayObjectEnables the object data properties to be iterable as an array 
WireData::has(string $key)
boolDoes this object have the given property? 

Additional methods and properties

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

API reference based on ProcessWire core version 3.0.200

Twitter updates

  • Weekly update, July 29: Continuing upgrades to ProcessWire’s comments system and FormBuilder, along with a working example—More
    29 July 2022
  • Weekly update for July 22– Looking back at what web development was like in the year 2000. Plus some more discussion on the path from CKEditor 4 to CkEditor 5 in ProcessWire: More
    22 July 2022
  • ProcessWire 3.0.203 core updates: new support for custom fields on comments and more— More
    15 July 2022

Latest news

  • ProcessWire Weekly #429
    In the 429th issue of ProcessWire Weekly we'll check out the latest core updates, introduce a new third party module, and more. Read on!
    Weekly.pw / 30 July 2022
  • Debugging tools built into ProcessWire
    ProcessWire's core comes with a lot of helpful debugging tools and capabilities built-in. In this post we'll cover some of these useful tools and how to use them.
    Blog / 1 July 2022
  • Subscribe to weekly ProcessWire news

“We were really happy to build our new portfolio website on ProcessWire! We wanted something that gave us plenty of control on the back-end, without any bloat on the front end - just a nice, easy to access API for all our content that left us free to design and build however we liked.” —Castus, web design agency in Sheffield, UK