Parse PHP SDK API Reference

ParseInstallation extends ParseObject
in package

Class ParseInstallation - Representation of an Installation stored on Parse.

Tags
author

Fosco Marotto [email protected]

Table of Contents

$parseClassName  : string
Parse Class name
$operationSet  : array<string|int, mixed>
Set of unsaved operations.
$serverData  : array<string|int, mixed>
Data as it exists on the server.
$className  : string
Class name for data on Parse.
$createdAt  : DateTime
Timestamp when object was created.
$dataAvailability  : array<string|int, mixed>
Determine if data available for a given key or not.
$estimatedData  : array<string|int, mixed>
Estimated value of applying operationSet to serverData.
$hasBeenFetched  : bool
Whether the object has been fully fetched from Parse.
$objectId  : string
Unique identifier on Parse.
$registeredSubclasses  : array<string|int, mixed>
Holds the registered subclasses and Parse class names.
$updatedAt  : DateTime
Timestamp when object was last updated.
__construct()  : mixed
Create a Parse Object.
__get()  : mixed
Getter to catch direct property calls and pass them to the get function.
__isset()  : bool
Magic handler to catch isset calls to object properties.
__set()  : mixed
Setter to catch property calls and protect certain fields.
_encode()  : string
Return a JSON encoded value of the object.
_mergeAfterFetch()  : mixed
Merges data received from the server.
_mergeAfterFetchWithSelectedKeys()  : mixed
Merges data received from the server with a given selected keys.
_mergeMagicFields()  : mixed
Handle merging of special fields for the object.
_performOperation()  : mixed
Perform an operation on an object property.
_toPointer()  : array<string|int, mixed>
Gets a Pointer referencing this Object.
_unregisterSubclass()  : mixed
Un-register a subclass.
add()  : mixed
Add a value to an array property.
addUnique()  : mixed
Add unique values to an array property.
beforeSave()  : void
Before save stub
clear()  : mixed
Clear all keys on this object by creating delete operations for each key.
create()  : ParseObject
Static method which returns a new Parse Object for a given class Optionally creates a pointer object if the objectId is provided.
decode()  : ParseObject
Decodes and returns a ParseObject from an encoded object
delete()  : mixed
Delete a key from an object.
destroy()  : mixed
Delete the object from Parse.
destroyAll()  : mixed
Delete an array of objects.
encode()  : string
Returns a JSON encoded array of a ParseObject
exists()  : bool
Returns true if this object exists on the Server
fetch()  : ParseObject
Fetch the whole object from the server and update the local object.
fetchAll()  : array<string|int, mixed>
Fetch an array of Parse objects from the server.
fetchAllWithInclude()  : array<string|int, mixed>
Fetch an array of Parse Objects from the server with nested Parse Objects.
fetchWithInclude()  : ParseObject
Fetch an array of Parse objects from the server.
get()  : mixed
Get current value for an object property.
getACL()  : ParseACL
Get the ACL assigned to the object.
getAllKeys()  : array<string|int, mixed>
Get values for all keys of an object.
getAppIdentifier()  : string
Gets the app identifier for this installation
getAppName()  : string
Get the app name for this installation
getAppVersion()  : string
Gets the app version of this installation
getBadge()  : int
Gets the badge number of this installation
getChannels()  : array<string|int, mixed>
Get channels for this installation
getClassName()  : string
Get the Parse Class Name for the object.
getCreatedAt()  : DateTime|null
Get the createdAt for the object, or null if unsaved.
getDeviceToken()  : string
Gets the device token for this installation
getDeviceType()  : string
Gets the device type of this installation
getGCMSenderId()  : string
Gets the GCM sender id of this installation
getInstallationId()  : string
Gets the installation id for this installation
getLocaleIdentifier()  : string
Gets the locale id for this installation
getObjectId()  : string|null
Get the objectId for the object, or null if unsaved.
getParseVersion()  : string
Gets the parse version for this installation
getPushType()  : string
Gets the push type of this installation
getRegisteredSubclass()  : ParseObject
Get the registered subclass for a Parse class, or a generic ParseObject if no subclass is registered.
getRelation()  : ParseRelation
Access or create a Relation value for a key.
getTimeZone()  : string
Gets the time zone of this installation
getUpdatedAt()  : DateTime|null
Get the updatedAt for the object, or null if unsaved.
has()  : bool
Check if the object has a given key.
hasRegisteredSubclass()  : bool
Check whether there is a subclass registered for a given parse class.
increment()  : mixed
Increment a numeric key by a certain value.
isDataAvailable()  : bool
Returns true if the object has been fetched.
isDirty()  : bool
Check if the object or any of its child objects have unsaved operations.
isKeyDirty()  : bool
Check if the a value associated with a key has been added/updated/removed and not saved yet.
query()  : ParseQuery
Creates a ParseQuery for the subclass of ParseObject.
registerSubclass()  : mixed
Register a subclass. Should be called before any other Parse functions.
remove()  : mixed
Remove a value from an array for an object key.
revert()  : mixed
Revert all unsaved operations.
save()  : mixed
Save Object to Parse.
saveAll()  : mixed
Save all the objects in the provided array.
set()  : mixed
Validate and set a value for an object key.
setACL()  : mixed
Set ACL for this object.
setArray()  : mixed
Set an array value for an object key.
setAssociativeArray()  : mixed
Set an associative array value for an object key.
_isDirty()  : bool
Detects if the object (and optionally the child objects) has unsaved changes.
rebuildEstimatedData()  : mixed
Start from serverData and process operations to generate the current value set for an object.
_isDataAvailable()  : bool
Returns whether or not data is available for a given key
applyOperations()  : mixed
Apply operations to a target object.
canBeSerialized()  : bool
Determine if the current object can be serialized for saving.
canBeSerializedAsValue()  : bool
Checks the given object and any children to see if the whole object can be serialized for saving.
deepSave()  : mixed
Save object and unsaved children within.
destroyBatch()  : array<string|int, mixed>
Destroy batch of objects.
findUnsavedChildren()  : mixed
Find unsaved children inside an object.
getACLWithCopy()  : ParseACL|null
Internally retrieves the ACL assigned to this object, conditionally returning a copy of the existing one
getSaveJSON()  : array<string|int, mixed>
Returns JSON object of the unsaved operations.
getSubclass()  : mixed
Gets the Subclass className if exists, otherwise false.
hasDirtyChildren()  : bool
Determines whether this object has child objects that are dirty
mergeAfterSave()  : mixed
Merge server data after a save completes.
mergeFromObject()  : mixed
Merge data from other object.
mergeFromServer()  : mixed
Merges data received from the server.
toObjectIdArray()  : array<string|int, mixed>
Creates an array of object ids from a given array of ParseObjects
traverse()  : mixed
Traverse object to find children.
updateWithFetchedResults()  : array<string|int, mixed>
Merges an existing array of objects with their fetched counterparts

Properties

$parseClassName

Parse Class name

public static string $parseClassName = '_Installation'

$operationSet

Set of unsaved operations.

protected array<string|int, mixed> $operationSet

$serverData

Data as it exists on the server.

protected array<string|int, mixed> $serverData

$className

Class name for data on Parse.

private string $className

$createdAt

Timestamp when object was created.

private DateTime $createdAt

$dataAvailability

Determine if data available for a given key or not.

private array<string|int, mixed> $dataAvailability

$estimatedData

Estimated value of applying operationSet to serverData.

private array<string|int, mixed> $estimatedData

$hasBeenFetched

Whether the object has been fully fetched from Parse.

private bool $hasBeenFetched

$objectId

Unique identifier on Parse.

private string $objectId

$registeredSubclasses

Holds the registered subclasses and Parse class names.

private static array<string|int, mixed> $registeredSubclasses = []

$updatedAt

Timestamp when object was last updated.

private DateTime $updatedAt

Methods

__construct()

Create a Parse Object.

public __construct([string $className = null ][, mixed $objectId = null ][, bool $isPointer = false ]) : mixed

Creates a pointer object if an objectId is provided, otherwise creates a new object.

Parameters
$className : string = null

Class Name for data on Parse.

$objectId : mixed = null

Object Id for Existing object.

$isPointer : bool = false
Tags
throws
Exception
Return values
mixed —

__get()

Getter to catch direct property calls and pass them to the get function.

public __get(string $key) : mixed
Parameters
$key : string

Key to retrieve from the Object.

Return values
mixed —

__isset()

Magic handler to catch isset calls to object properties.

public __isset(string $key) : bool
Parameters
$key : string

Key to check on the object.

Return values
bool —

__set()

Setter to catch property calls and protect certain fields.

public __set(string $key, mixed $value) : mixed
Parameters
$key : string

Key to set a value on.

$value : mixed

Value to assign.

Tags
throws
Exception
Return values
mixed —

_encode()

Return a JSON encoded value of the object.

public _encode() : string
Return values
string —

_mergeAfterFetch()

Merges data received from the server.

public _mergeAfterFetch(array<string|int, mixed> $result[, bool $completeData = true ]) : mixed
Parameters
$result : array<string|int, mixed>

Data retrieved from the server.

$completeData : bool = true

Fetch all data or not.

Return values
mixed —

_mergeAfterFetchWithSelectedKeys()

Merges data received from the server with a given selected keys.

public _mergeAfterFetchWithSelectedKeys(array<string|int, mixed> $result, array<string|int, mixed> $selectedKeys) : mixed
Parameters
$result : array<string|int, mixed>

Data retrieved from the server.

$selectedKeys : array<string|int, mixed>

Keys to be fetched. Null or empty means all data will be fetched.

Return values
mixed —

_mergeMagicFields()

Handle merging of special fields for the object.

public _mergeMagicFields(array<string|int, mixed> &$data) : mixed
Parameters
$data : array<string|int, mixed>

Data received from server.

Return values
mixed —

_performOperation()

Perform an operation on an object property.

public _performOperation(string $key, FieldOperation $operation) : mixed
Parameters
$key : string

Key to perform an operation upon.

$operation : FieldOperation

Operation to perform.

Return values
mixed —

_toPointer()

Gets a Pointer referencing this Object.

public _toPointer() : array<string|int, mixed>
Tags
throws
Exception
Return values
array<string|int, mixed> —

_unregisterSubclass()

Un-register a subclass.

public static _unregisterSubclass() : mixed

Cannot be called on the base class ParseObject.

Return values
mixed —

add()

Add a value to an array property.

public add(string $key, mixed $value) : mixed
Parameters
$key : string

Key for array value on object to add a value to.

$value : mixed

Value to add.

Return values
mixed —

addUnique()

Add unique values to an array property.

public addUnique(string $key, mixed $value) : mixed
Parameters
$key : string

Key for array value on object.

$value : mixed

Value list to add uniquely.

Return values
mixed —

beforeSave()

Before save stub

public beforeSave() : void
Return values
void —

clear()

Clear all keys on this object by creating delete operations for each key.

public clear() : mixed
Return values
mixed —

create()

Static method which returns a new Parse Object for a given class Optionally creates a pointer object if the objectId is provided.

public static create(string $className[, string $objectId = null ][, bool $isPointer = false ]) : ParseObject
Parameters
$className : string

Class Name for data on Parse.

$objectId : string = null

Unique identifier for existing object.

$isPointer : bool = false

If the object is a pointer.

Return values
ParseObject —

decode()

Decodes and returns a ParseObject from an encoded object

public static decode(string|array<string|int, mixed> $encoded) : ParseObject
Parameters
$encoded : string|array<string|int, mixed>

Encoded ParseObject to decode

Tags
throws
ParseException
Return values
ParseObject —

delete()

Delete a key from an object.

public delete(string $key) : mixed
Parameters
$key : string

Key to remove from object.

Return values
mixed —

destroy()

Delete the object from Parse.

public destroy([bool $useMasterKey = false ]) : mixed
Parameters
$useMasterKey : bool = false

Whether to use the master key.

Return values
mixed —

destroyAll()

Delete an array of objects.

public static destroyAll(array<string|int, mixed> $objects[, bool $useMasterKey = false ][, int $batchSize = 40 ]) : mixed
Parameters
$objects : array<string|int, mixed>

Objects to destroy.

$useMasterKey : bool = false

Whether to use the master key or not.

$batchSize : int = 40

Number of objects to process per request

Tags
throws
ParseAggregateException
Return values
mixed —

encode()

Returns a JSON encoded array of a ParseObject

public encode() : string
Return values
string —

exists()

Returns true if this object exists on the Server

public exists([bool $useMasterKey = false ]) : bool
Parameters
$useMasterKey : bool = false

Whether to use the Master Key.

Return values
bool —

fetch()

Fetch the whole object from the server and update the local object.

public fetch([bool $useMasterKey = false ]) : ParseObject
Parameters
$useMasterKey : bool = false

Whether to use the master key and override ACLs

Return values
ParseObject —

Returns self, so you can chain this call.

fetchAll()

Fetch an array of Parse objects from the server.

public static fetchAll(array<string|int, mixed> $objects[, bool $useMasterKey = false ]) : array<string|int, mixed>
Parameters
$objects : array<string|int, mixed>

The ParseObjects to fetch

$useMasterKey : bool = false

Whether to override ACLs

Return values
array<string|int, mixed> —

fetchAllWithInclude()

Fetch an array of Parse Objects from the server with nested Parse Objects.

public static fetchAllWithInclude(array<string|int, mixed> $objects, mixed $includeKeys[, bool $useMasterKey = false ]) : array<string|int, mixed>
Parameters
$objects : array<string|int, mixed>

The ParseObjects to fetch

$includeKeys : mixed

The nested ParseObjects to fetch

$useMasterKey : bool = false

Whether to override ACLs

Return values
array<string|int, mixed> —

fetchWithInclude()

Fetch an array of Parse objects from the server.

public fetchWithInclude(array<string|int, mixed> $includeKeys[, bool $useMasterKey = false ]) : ParseObject
Parameters
$includeKeys : array<string|int, mixed>

The nested ParseObjects to fetch

$useMasterKey : bool = false

Whether to override ACLs

Return values
ParseObject —

Returns self, so you can chain this call.

get()

Get current value for an object property.

public get(string $key) : mixed
Parameters
$key : string

Key to retrieve from the estimatedData array.

Tags
throws
Exception
Return values
mixed —

getAllKeys()

Get values for all keys of an object.

public getAllKeys() : array<string|int, mixed>
Return values
array<string|int, mixed> —

getAppIdentifier()

Gets the app identifier for this installation

public getAppIdentifier() : string
Return values
string —

getAppName()

Get the app name for this installation

public getAppName() : string
Return values
string —

getAppVersion()

Gets the app version of this installation

public getAppVersion() : string
Return values
string —

getBadge()

Gets the badge number of this installation

public getBadge() : int
Return values
int —

getChannels()

Get channels for this installation

public getChannels() : array<string|int, mixed>
Return values
array<string|int, mixed> —

getClassName()

Get the Parse Class Name for the object.

public getClassName() : string
Return values
string —

getCreatedAt()

Get the createdAt for the object, or null if unsaved.

public getCreatedAt() : DateTime|null
Return values
DateTime|null —

getDeviceToken()

Gets the device token for this installation

public getDeviceToken() : string
Return values
string —

getDeviceType()

Gets the device type of this installation

public getDeviceType() : string
Return values
string —

getGCMSenderId()

Gets the GCM sender id of this installation

public getGCMSenderId() : string
Return values
string —

getInstallationId()

Gets the installation id for this installation

public getInstallationId() : string
Return values
string —

getLocaleIdentifier()

Gets the locale id for this installation

public getLocaleIdentifier() : string
Return values
string —

getObjectId()

Get the objectId for the object, or null if unsaved.

public getObjectId() : string|null
Return values
string|null —

getParseVersion()

Gets the parse version for this installation

public getParseVersion() : string
Return values
string —

getPushType()

Gets the push type of this installation

public getPushType() : string
Return values
string —

getRegisteredSubclass()

Get the registered subclass for a Parse class, or a generic ParseObject if no subclass is registered.

public static getRegisteredSubclass(string $parseClassName) : ParseObject
Parameters
$parseClassName : string
Return values
ParseObject —

getRelation()

Access or create a Relation value for a key.

public getRelation(string $key[, string $className = null ]) : ParseRelation
Parameters
$key : string

The key to access the relation for.

$className : string = null

The target class name.

Return values
ParseRelation —

The ParseRelation object if the relation already exists for the key or can be created for this key.

getTimeZone()

Gets the time zone of this installation

public getTimeZone() : string
Return values
string —

getUpdatedAt()

Get the updatedAt for the object, or null if unsaved.

public getUpdatedAt() : DateTime|null
Return values
DateTime|null —

has()

Check if the object has a given key.

public has(string $key) : bool
Parameters
$key : string

Key to check

Return values
bool —

hasRegisteredSubclass()

Check whether there is a subclass registered for a given parse class.

public static hasRegisteredSubclass(string $parseClassName) : bool
Parameters
$parseClassName : string
Return values
bool —

increment()

Increment a numeric key by a certain value.

public increment(string $key[, int $value = 1 ]) : mixed
Parameters
$key : string

Key for numeric value on object to increment.

$value : int = 1

Value to increment by.

Return values
mixed —

isDataAvailable()

Returns true if the object has been fetched.

public isDataAvailable() : bool
Return values
bool —

isDirty()

Check if the object or any of its child objects have unsaved operations.

public isDirty() : bool
Return values
bool —

isKeyDirty()

Check if the a value associated with a key has been added/updated/removed and not saved yet.

public isKeyDirty(string $key) : bool
Parameters
$key : string
Return values
bool —

query()

Creates a ParseQuery for the subclass of ParseObject.

public static query() : ParseQuery

Cannot be called on the base class ParseObject.

Tags
throws
Exception
Return values
ParseQuery —

registerSubclass()

Register a subclass. Should be called before any other Parse functions.

public static registerSubclass() : mixed

Cannot be called on the base class ParseObject.

Tags
throws
Exception
Return values
mixed —

remove()

Remove a value from an array for an object key.

public remove(string $key, mixed $value) : mixed
Parameters
$key : string

Key to remove the value from on the object.

$value : mixed

Value to remove from the array.

Tags
throws
Exception
Return values
mixed —

revert()

Revert all unsaved operations.

public revert() : mixed
Return values
mixed —

save()

Save Object to Parse.

public save([bool $useMasterKey = false ]) : mixed
Parameters
$useMasterKey : bool = false

Whether to use the Master Key.

Return values
mixed —

saveAll()

Save all the objects in the provided array.

public static saveAll(array<string|int, mixed> $list[, bool $useMasterKey = false ][, int $batchSize = 40 ]) : mixed
Parameters
$list : array<string|int, mixed>
$useMasterKey : bool = false

Whether to use the Master Key.

$batchSize : int = 40

Number of objects to process per request

Return values
mixed —

set()

Validate and set a value for an object key.

public set(string $key, mixed $value) : mixed
Parameters
$key : string

Key to set a value for on the object.

$value : mixed

Value to set on the key.

Tags
throws
Exception
Return values
mixed —

setArray()

Set an array value for an object key.

public setArray(string $key, array<string|int, mixed> $value) : mixed
Parameters
$key : string

Key to set the value for on the object.

$value : array<string|int, mixed>

Value to set on the key.

Tags
throws
Exception
Return values
mixed —

setAssociativeArray()

Set an associative array value for an object key.

public setAssociativeArray(string $key, array<string|int, mixed> $value) : mixed
Parameters
$key : string

Key to set the value for on the object.

$value : array<string|int, mixed>

Value to set on the key.

Tags
throws
Exception
Return values
mixed —

_isDirty()

Detects if the object (and optionally the child objects) has unsaved changes.

protected _isDirty(bool $considerChildren) : bool
Parameters
$considerChildren : bool

Whether to consider children when checking for dirty state

Return values
bool —

rebuildEstimatedData()

Start from serverData and process operations to generate the current value set for an object.

protected rebuildEstimatedData() : mixed
Return values
mixed —

_isDataAvailable()

Returns whether or not data is available for a given key

private _isDataAvailable(string $key) : bool
Parameters
$key : string

Key to check availability of

Return values
bool —

applyOperations()

Apply operations to a target object.

private applyOperations(array<string|int, mixed> $operations, array<string|int, mixed> &$target) : mixed
Parameters
$operations : array<string|int, mixed>

Operations set to apply.

$target : array<string|int, mixed>

Target data to affect.

Return values
mixed —

canBeSerialized()

Determine if the current object can be serialized for saving.

private canBeSerialized() : bool
Return values
bool —

canBeSerializedAsValue()

Checks the given object and any children to see if the whole object can be serialized for saving.

private static canBeSerializedAsValue(mixed $object) : bool
Parameters
$object : mixed

The value to check.

Return values
bool —

deepSave()

Save object and unsaved children within.

private static deepSave(ParseObject|array<string|int, mixed> $target[, bool $useMasterKey = false ][, int $batchSize = 40 ]) : mixed
Parameters
$target : ParseObject|array<string|int, mixed>
$useMasterKey : bool = false

Whether to use the Master Key.

$batchSize : int = 40

Number of objects to process per request

Tags
throws
Exception
throws
ParseAggregateException
throws
ParseException
Return values
mixed —

destroyBatch()

Destroy batch of objects.

private static destroyBatch(array<string|int, ParseObject> $objects[, bool $useMasterKey = false ]) : array<string|int, mixed>
Parameters
$objects : array<string|int, ParseObject>
$useMasterKey : bool = false
Tags
throws
ParseException
Return values
array<string|int, mixed> —

findUnsavedChildren()

Find unsaved children inside an object.

private static findUnsavedChildren(ParseObject $object, array<string|int, mixed> &$unsavedChildren, array<string|int, mixed> &$unsavedFiles) : mixed
Parameters
$object : ParseObject

Object to search.

$unsavedChildren : array<string|int, mixed>

Array to populate with children.

$unsavedFiles : array<string|int, mixed>

Array to populate with files.

Return values
mixed —

getACLWithCopy()

Internally retrieves the ACL assigned to this object, conditionally returning a copy of the existing one

private getACLWithCopy(bool $mayCopy) : ParseACL|null
Parameters
$mayCopy : bool

Whether to return a copy of this acl or not

Return values
ParseACL|null —

getSaveJSON()

Returns JSON object of the unsaved operations.

private getSaveJSON() : array<string|int, mixed>
Return values
array<string|int, mixed> —

getSubclass()

Gets the Subclass className if exists, otherwise false.

private static getSubclass() : mixed
Return values
mixed —

hasDirtyChildren()

Determines whether this object has child objects that are dirty

private hasDirtyChildren() : bool
Return values
bool —

mergeAfterSave()

Merge server data after a save completes.

private mergeAfterSave(array<string|int, mixed> $result) : mixed
Parameters
$result : array<string|int, mixed>

Data retrieved from server.

Return values
mixed —

mergeFromObject()

Merge data from other object.

private mergeFromObject(ParseObject $other) : mixed
Parameters
$other : ParseObject

Other object to merge data from

Return values
mixed —

mergeFromServer()

Merges data received from the server.

private mergeFromServer(array<string|int, mixed> $data[, bool $completeData = true ]) : mixed
Parameters
$data : array<string|int, mixed>

Data retrieved from server.

$completeData : bool = true

Fetch all data or not.

Return values
mixed —

toObjectIdArray()

Creates an array of object ids from a given array of ParseObjects

private static toObjectIdArray(array<string|int, mixed> $objects) : array<string|int, mixed>
Parameters
$objects : array<string|int, mixed>

Objects to create id array from

Tags
throws
ParseException
Return values
array<string|int, mixed> —

traverse()

Traverse object to find children.

private static traverse(bool $deep, ParseObject|array<string|int, mixed> &$object, callable $mapFunction[, array<string|int, mixed> $seen = [] ]) : mixed
Parameters
$deep : bool

Should this call traverse deeply

$object : ParseObject|array<string|int, mixed>

Object to traverse.

$mapFunction : callable

Function to call for every item.

$seen : array<string|int, mixed> = []

Objects already seen.

Return values
mixed —

The result of calling mapFunction on the root object.

updateWithFetchedResults()

Merges an existing array of objects with their fetched counterparts

private static updateWithFetchedResults(array<string|int, mixed> $objects, array<string|int, mixed> $fetched) : array<string|int, mixed>
Parameters
$objects : array<string|int, mixed>

Original objects to update

$fetched : array<string|int, mixed>

Fetched object data to update with

Tags
throws
ParseException
Return values
array<string|int, mixed> —

Search results