PropPatch
in package
This class represents a set of properties that are going to be updated.
Usually this is simply a PROPPATCH request, but it can also be used for internal updates.
Property updates must always be atomic. This means that a property update must either completely succeed, or completely fail.
Tags
Table of Contents
- $failed : bool
- This property will be set to true if the operation failed.
- $mutations : array<string|int, mixed>
- Properties that are being updated.
- $propertyUpdateCallbacks : array<string|int, mixed>
- This is the list of callbacks when we're performing the actual update.
- $result : array<string|int, mixed>
- A list of properties and the result of the update. The result is in the form of a HTTP status code.
- __construct() : mixed
- Constructor.
- commit() : bool
- Performs the actual update, and calls all callbacks.
- getMutations() : array<string|int, mixed>
- Returns the full list of mutations.
- getRemainingMutations() : array<string|int, string>
- Returns the list of properties that don't have a result code yet.
- getRemainingValues() : array<string|int, mixed>
- Returns the list of properties that don't have a result code yet.
- getResult() : array<string|int, mixed>
- Returns the result of the operation.
- handle() : mixed
- Call this function if you wish to handle updating certain properties.
- handleRemaining() : mixed
- Call this function if you wish to handle _all_ properties that haven't been handled by anything else yet. Note that you effectively claim with this that you promise to process _all_ properties that are coming in.
- setRemainingResultCode() : mixed
- Sets the result code for all properties that did not have a result yet.
- setResultCode() : mixed
- Sets the result code for one or more properties.
- doCallBackMultiProp() : mixed
- Executes a property callback with the multi-property syntax.
- doCallBackSingleProp() : mixed
- Executes a property callback with the single-property syntax.
Properties
$failed
This property will be set to true if the operation failed.
protected
bool
$failed
= false
$mutations
Properties that are being updated.
protected
array<string|int, mixed>
$mutations
This is a key-value list. If the value is null, the property is supposed to be deleted.
$propertyUpdateCallbacks
This is the list of callbacks when we're performing the actual update.
protected
array<string|int, mixed>
$propertyUpdateCallbacks
= []
$result
A list of properties and the result of the update. The result is in the form of a HTTP status code.
protected
array<string|int, mixed>
$result
= []
Methods
__construct()
Constructor.
public
__construct(array<string|int, mixed> $mutations) : mixed
Parameters
- $mutations : array<string|int, mixed>
-
A list of updates
Return values
mixed —commit()
Performs the actual update, and calls all callbacks.
public
commit() : bool
This method returns true or false depending on if the operation was successful.
Return values
bool —getMutations()
Returns the full list of mutations.
public
getMutations() : array<string|int, mixed>
Return values
array<string|int, mixed> —getRemainingMutations()
Returns the list of properties that don't have a result code yet.
public
getRemainingMutations() : array<string|int, string>
This method returns a list of property names, but not its values.
Return values
array<string|int, string> —getRemainingValues()
Returns the list of properties that don't have a result code yet.
public
getRemainingValues() : array<string|int, mixed>
This method returns list of properties and their values.
Return values
array<string|int, mixed> —getResult()
Returns the result of the operation.
public
getResult() : array<string|int, mixed>
Return values
array<string|int, mixed> —handle()
Call this function if you wish to handle updating certain properties.
public
handle(string|array<string|int, string> $properties, callable $callback) : mixed
For instance, your class may be responsible for handling updates for the {DAV:}displayname property.
In that case, call this method with the first argument "{DAV:}displayname" and a second argument that's a method that does the actual updating.
It's possible to specify more than one property as an array.
The callback must return a boolean or an it. If the result is true, the operation was considered successful. If it's false, it's consided failed.
If the result is an integer, we'll use that integer as the http status code associated with the operation.
Parameters
- $properties : string|array<string|int, string>
- $callback : callable
Return values
mixed —handleRemaining()
Call this function if you wish to handle _all_ properties that haven't been handled by anything else yet. Note that you effectively claim with this that you promise to process _all_ properties that are coming in.
public
handleRemaining(callable $callback) : mixed
Parameters
- $callback : callable
Return values
mixed —setRemainingResultCode()
Sets the result code for all properties that did not have a result yet.
public
setRemainingResultCode(int $resultCode) : mixed
Parameters
- $resultCode : int
Return values
mixed —setResultCode()
Sets the result code for one or more properties.
public
setResultCode(string|array<string|int, string> $properties, int $resultCode) : mixed
Parameters
- $properties : string|array<string|int, string>
- $resultCode : int
Return values
mixed —doCallBackMultiProp()
Executes a property callback with the multi-property syntax.
private
doCallBackMultiProp(array<string|int, mixed> $propertyList, callable $callback) : mixed
Parameters
- $propertyList : array<string|int, mixed>
- $callback : callable
Return values
mixed —doCallBackSingleProp()
Executes a property callback with the single-property syntax.
private
doCallBackSingleProp(string $propertyName, callable $callback) : mixed
Parameters
- $propertyName : string
- $callback : callable