# Class Ext

Base class for DataTables classes.

#### Direct known subclasses

DataTables\Editor, DataTables\Editor\Field, DataTables\Editor\Join, DataTables\Editor\Options, DataTables\Editor\Upload, DataTables\Editor\ValidateOptions

#### Indirect known subclasses

DataTables\Editor\MJoin
Namespace: DataTables
Located at Ext.php

Methods summary
`public static `DataTables\Editor`|`DataTables\Editor\Field`|`DataTables\Editor\Join`|`DataTables\Editor\Upload`` | # `instantiate( )` Static method to instantiate a new instance of a class. Static method to instantiate a new instance of a class. A factory method that will create a new instance of the class that has extended 'Ext'. This allows classes to be instantiated and then chained - which otherwise isn't available until PHP 5.4. If using PHP 5.4 or later, simply create a 'new' instance of the target class and chain methods as normal. #### Returns `DataTables\Editor`|`DataTables\Editor\Field`|`DataTables\Editor\Join`|`DataTables\Editor\Upload` Instantiated class
`public static `DataTables\Editor`|`DataTables\Editor\Field`|`DataTables\Editor\Join`|`DataTables\Editor\Upload`` | # `inst( )` Static method to instantiate a new instance of a class (shorthand of 'instantiate'). Static method to instantiate a new instance of a class (shorthand of 'instantiate'). This method performs exactly the same actions as the 'instantiate' static method, but is simply shorter and easier to type! #### Returns `DataTables\Editor`|`DataTables\Editor\Field`|`DataTables\Editor\Join`|`DataTables\Editor\Upload` class
`protected `DataTables\Ext`|mixed` | # `_getSet( mixed & $prop, mixed $val, boolean $array = false )` Common getter / setter function for DataTables classes. Common getter / setter function for DataTables classes. This getter / setter method makes building getter / setting methods easier, by abstracting everything to a single function call. #### Parameters $prop $prop The property to set $val The value to set - if given as null, then we assume that the function is being used as a getter. $array Treat the target property as an array or not (default false). If used as an array, then values passed in are added to the $prop array. #### Returns `DataTables\Ext`|mixed Class instance if setting (allowing chaining), or the value requested if getting.
`protected boolean` | # `_propExists( string $name, array $data )` Determine if a property is available in a data set (allowing `null` to be a valid value) Determine if a property is available in a data set (allowing `null` to be a valid value) #### Parameters $name Javascript dotted object name to write to $data Data source array to read from #### Returns boolean true if present, false otherwise #### Private
`protected mixed` | # `_readProp( string $name, array $data )` Read a value from a data structure, using Javascript dotted object notation. This is the inverse of the `_writeProp` method and provides the same support, matching DataTables' ability to read nested JSON data objects. Read a value from a data structure, using Javascript dotted object notation. This is the inverse of the `_writeProp` method and provides the same support, matching DataTables' ability to read nested JSON data objects. #### Parameters $name Javascript dotted object name to write to $data Data source array to read from #### Returns mixed The read value, or null if no value found. #### Private
`protected` | # `_writeProp( array & $out, string $name, mixed $value )` Write the field's value to an array structure, using Javascript dotted object notation to indicate JSON data structure. For example `name.first` gives the data structure: `name: { first: ... }`. This matches DataTables own ability to do this on the client-side, although this doesn't implement implement quite such a complex structure (no array / function support). Write the field's value to an array structure, using Javascript dotted object notation to indicate JSON data structure. For example `name.first` gives the data structure: `name: { first: ... }`. This matches DataTables own ability to do this on the client-side, although this doesn't implement implement quite such a complex structure (no array / function support). #### Parameters $out $out Array to write the data to $name Javascript dotted object name to write to $value Value to write #### Throws Exception Information about duplicate properties #### Private