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.137

Twitter updates

  • ProcessWire 3.0.144 and 3.0.145 add improved field template context override settings and include a new Inputfields API, along with numerous other issue fixes, optimizations and improvements to the core. More
    8 November 2019
  • ProcessWire 3.0.144 core updates: Upgraded overrides section in the field editor, a new Inputfields JS API, and more— More
    1 November 2019
  • ProcessWire 3.0.143 core updates — 26 commits and 18 resolved issue reports, plus some other useful improvements and additions. More here: More
    25 October 2019

Latest news

  • ProcessWire Weekly #288
    In the 288th issue of ProcessWire Weekly we'll cover the latest core updates, introduce WireMailSendGrid, host a new weekly poll, and showcase a new site of the week. Read on!
    Weekly.pw / 16 November 2019
  • ProcessWire 3.0.145 core updates
    ProcessWire 3.0.144 and 3.0.145 add improved field template context override settings and include a new Inputfields API, along with numerous other issue fixes, optimizations and improvements to the core.
    Blog / 8 November 2019
  • 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