Version: current

# Class ViewableData_Customised

  Object
  ViewableData implements IteratorAggregate
  ViewableData_Customised

Package: sapphire\view
Located at sapphire/core/ViewableData.php

## Methods summary

`public` | # `__construct( `ViewableData` $originalObject, `ViewableData` $customisedObject )` Instantiate a new customised ViewableData object Instantiate a new customised ViewableData object #### Parameters $originalObject ViewableData $originalObject $customisedObject ViewableData $customisedObject #### Overrides `Object::__construct`
`public mixed` | # `__call( string $method, array $arguments )` Attemps to locate and call a method dynamically added to a class at runtime if a default cannot be located Attemps to locate and call a method dynamically added to a class at runtime if a default cannot be located You can add extra methods to a class using Extensions, `Object::createMethod()` or `Object::addWrapperMethod()` #### Parameters $method string $method $arguments array $arguments #### Returns `mixed` mixed #### Overrides `Object::__call`
`public mixed` | # `__get( string $property )` Get the value of a property/field on this object. This will check if a method called get{$property} exists, then check if a field is available using `ViewableData::getField()`, then fall back on a failover object. Get the value of a property/field on this object. This will check if a method called get{$property} exists, then check if a field is available using `ViewableData::getField()`, then fall back on a failover object. #### Parameters $property string $property #### Returns `mixed` mixed #### Overrides `ViewableData::__get`
`public` | # `__set( string $property, mixed $value )` Set a property/field on this object. This will check for the existence of a method called set{$property}, then use the `ViewableData::setField()` method. Set a property/field on this object. This will check for the existence of a method called set{$property}, then use the `ViewableData::setField()` method. #### Parameters $property string $property $value mixed $value #### Overrides `ViewableData::__set`
`public boolean` | # `hasMethod( string $method )` Return TRUE if a method exists on this object Return TRUE if a method exists on this object This should be used rather than PHP's inbuild method_exists() as it takes into account methods added via extensions #### Parameters $method string $method #### Returns `boolean` bool #### Overrides `Object::hasMethod`
`public` | # `cachedCall( string $field, array $arguments = null, string $identifier = null )` A simple wrapper around `ViewableData::obj()` that automatically caches the result so it can be used again without re-running the method. A simple wrapper around `ViewableData::obj()` that automatically caches the result so it can be used again without re-running the method. #### Parameters $field string $field $arguments array $arguments $identifier string $identifier an optional custom cache identifier #### Overrides `ViewableData::cachedCall`
`public` | # `obj( string $fieldName, array $arguments = null, boolean $forceReturnedObject = true, string $cache = false, mixed $cacheName = null )` Get the value of a field on this object, automatically inserting the value into any available casting objects that have been specified. Get the value of a field on this object, automatically inserting the value into any available casting objects that have been specified. #### Parameters $fieldName string $fieldName $arguments array $arguments $forceReturnedObject bool $forceReturnedObject if TRUE, the value will ALWAYS be casted to an object before being returned, even if there is no explicit casting information $cache string $cacheName a custom cache name $cacheName #### Overrides `ViewableData::obj`
`public` | # `getAllFields( )`
`public array` | # `allMethodNames( )` Return the names of all the methods available on this object Return the names of all the methods available on this object #### Returns `array` array #### Overrides `Object::allMethodNames`
`public` | # `getOriginal( )`

### Methods inherited from ViewableData

`ATT_val()`, `BaseHref()`, `CSSClasses()`, `ColumnBreak()`, `ColumnCalc()`, `ColumnNumber()`, `ColumnPad()`, `ColumnPos()`, `CurrentMember()`, `CurrentPage()`, `Debug()`, `Even()`, `EvenOdd()`, `First()`, `FirstLast()`, `HasPerm()`, `IsAjax()`, `JS_val()`, `Last()`, `Me()`, `Middle()`, `MiddleString()`, `Modulus()`, `MultipleOf()`, `Odd()`, `Pos()`, `RAW_val()`, `SQL_val()`, `ThemeDir()`, `ThemeName()`, `Top()`, `TotalItems()`, `XML_val()`, `__isset()`, `buildCastingCache()`, `castingClass()`, `castingHelper()`, `castingHelperPair()`, `castingObjectCreator()`, `castingObjectCreatorPair()`, `customise()`, `defineMethods()`, `escapeTypeForField()`, `getField()`, `getIterator()`, `getSecurityID()`, `getXMLValues()`, `hasField()`, `hasValue()`, `i18nLocale()`, `iteratorProperties()`, `renderWith()`, `setCustomisedObj()`, `setField()`

### Methods inherited from Object

`__toString()`, `__wakeup()`, `addMethodsFrom()`, `addStaticVars()`, `addWrapperMethod()`, `add_extension()`, `add_static_var()`, `cacheToFile()`, `cacheToFileWithArgs()`, `clearCache()`, `combined_static()`, `create()`, `createMethod()`, `create_from_string()`, `exists()`, `extInstance()`, `extend()`, `getCustomClass()`, `getExtensionInstance()`, `getExtensionInstances()`, `get_extensions()`, `get_static()`, `hasExtension()`, `has_extension()`, `invokeWithExtensions()`, `is_a()`, `loadCache()`, `parentClass()`, `parse_class_spec()`, `remove_extension()`, `sanitiseCachename()`, `saveCache()`, `set_stat()`, `set_static()`, `set_uninherited()`, `stat()`, `strong_create()`, `uninherited()`, `uninherited_static()`, `useCustomClass()`

### Magic methods summary

## Properties summary

`protected `ViewableData`` | $original | #
`protected mixed` | $customised | #

### Properties inherited from ViewableData

`$casting`, `$customisedObject`, `$default_cast`, `$failover`, `$iteratorPos`, `$iteratorTotalItems`

### Properties inherited from Object

`$class`, `$extension_instances`, `$extensions`

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -