__construct()
__get()
__set()
__toString()
buildData()
checkRequiredAPIFields()
create()
createNew()
delete()
get()
getAPIFields()
getAll()
getAvailableFilterMethods()
getAvailableOrderMethods()
getController()
getId()
getRequiredAPIFields()
isNew()
isReadOnly()
refresh()
save()
setReadOnly()
toString()
update()
getRESTClient()
parseData()
initAPIFieldsAccessors()
$_filter_methods
$_order_methods
$controller
$object_xml_name
$read_only
$_api_fields
FILES_DATA_NAME
Base class for getting, creating, updating and deleting Kayako objects.
All objects interacting with Kayako REST API should extend this class and define: * Kayako controller * XML element name holding object's data in REST response
see | \global\kyObjectBase::$controller |
---|---|
see | \global\kyObjectBase::$object_xml_name |
author | Tomasz Sawicki (https://github.com/Furgas) |
link | http://wiki.kayako.com/display/DEV/REST+API |
package | Object\Base |
__construct(array $data)
array
Object data from XML response converted into array.
__get(string $api_field_name) : mixed
Returns API field value based on API field name used by Kayako.
link | http://wiki.kayako.com/display/DEV/REST+API+Reference |
---|
string
API field name.
mixed
__set(string $api_field_name, mixed $value) : mixed
Sets API field value based on API field name used by Kayako.
link | http://wiki.kayako.com/display/DEV/REST+API+Reference |
---|
string
API field name.
mixed
API field value.
mixed
__toString() : string
Calls toString() method to get the object description.
string
buildData(bool $create) : array
Values must be set in format accepted by REST API.
bool
Indicates if the result will be used to create (true) or update (false) an object.
array
checkRequiredAPIFields(bool $create, bool $throw_exception) : string[] | bool
bool
True when object will be created. False when object will be updated.
bool
True to throw an exception on missing fields. False to return list of missing fields or true when there are none.
\kyException |
When there are missing field values and $throw_exception is true. |
---|
string[]
bool
List of missing API fields or true when there are none.createNew()
Compatible with method chaining.
delete()
get(int | array $id) : \kyObjectBase
int
array
Object identifier or list of identifiers (ex. ticket identifier and ticket post identifier when fetching TicketPost).
getAPIFields() : string[]
Format of returned array:
array( '' => Field description. (getter: , setter: ), ...repeat... )
string[]
getAvailableFilterMethods(bool $filter_names_only) : array
Optionaly you can return get method names used to filter objects.
bool
True (default) to return array('filterByXXX', 'filterByYYY', ...). False to return array('filterByXXX' => 'getXXX', 'filterByYYY' => 'YYY', ...).
array
getAvailableOrderMethods(bool $order_names_only) : array
Optionaly you can return get method names used to order objects.
bool
True (default) to return array('orderByXXX', 'orderByYYY', ...). False to return array('orderByXXX' => 'getXXX', 'orderByYYY' => 'YYY', ...).
array
getController() : string
string
getId(bool $complete) : int | array
ticket identifier and ticket post identifier in case of TicketPost).
bool
True to return complete list of identifiers as needed by API to identify the object.
int
array
getRequiredAPIFields(bool $create) : string[]
bool
True when object will be created. False when object will be updated.
string[]
isNew() : bool
bool
isReadOnly() : bool
bool
setReadOnly(bool $read_only) : bool
bool
Read only flag.
bool
toString() : string
string
parseData(array $data)
array
Object data from XML response.
initAPIFieldsAccessors()
Scans protected and private properties of called class, searches for
apiField | [name=field name] [accessor=setter/getter name] [getter=getter name] [setter=setter name] [required_create=true if field if required when creating object] [required_update=true if field if required when udpating object] [required=true if field if required when creating or updating object] and builds API field list with property name, description, setter and getter method names, and required flags. |
---|---|
see | \global\kyObjectBase::$_api_fields |
$_filter_methods : string[]
Format:
array(
'
$_order_methods : string[]
Format:
array(
'
$controller : string
Override in descending classes.
$object_xml_name : string
Override in descending classes.
$read_only : bool
Override in descending classes.
$_api_fields : array
Format:
array(
'
FILES_DATA_NAME : string