Skip to content

Sabre VObject Property

Evert Pot edited this page Jun 6, 2013 · 5 revisions

Sabre\VObject\Property

Property

A property is always in a KEY:VALUE structure, and may optionally contain parameters.

Properties

$name

public string $name

Property name.

This will contain a string such as DTSTART, SUMMARY, FN.

  • Visibility: public

$group

public string $group

Property group.

This is only used in vcards

  • Visibility: public

$parameters

public array $parameters = array()

List of parameters

  • Visibility: public

$value

protected mixed $value

Current value

  • Visibility: protected

$delimiter

protected string $delimiter = ';'

In case this is a multi-value property.

This string will be used as a delimiter.

  • Visibility: protected

$parent

public \Sabre\VObject\Node $parent

Reference to the parent object, if this is not the top object.

$iterator

protected \Sabre\VObject\ElementList $iterator = null

Iterator override

$root

protected \Sabre\VObject\Component $root

The root document

Methods

__construct

void Sabre\VObject\Property::__construct(\Sabre\VObject\Component $root, string $name, string|array|null $value, array $parameters, string $group)

Creates the generic property.

Parameters must be specified in key=>value syntax.

  • Visibility: public

Arguments

  • $root Sabre\VObject\Component - The root document
  • $name string
  • $value string|array|null
  • $parameters array - List of parameters
  • $group string - The vcard property group

setValue

void Sabre\VObject\Property::setValue(string|array $value)

Updates the current value.

This may be either a single, or multiple strings in an array.

  • Visibility: public

Arguments

  • $value string|array

getValue

string Sabre\VObject\Property::getValue()

Returns the current value.

This method will always return a singular value. If this was a multi-value object, some decision will be made first on how to represent it as a string.

To get the correct multi-value version, use getParts.

  • Visibility: public

setParts

void Sabre\VObject\Property::setParts(array $parts)

Sets a multi-valued property.

  • Visibility: public

Arguments

  • $parts array

getParts

array Sabre\VObject\Property::getParts()

Returns a multi-valued property.

This method always returns an array, if there was only a single value, it will still be wrapped in an array.

  • Visibility: public

add

\Sabre\VObject\Node Sabre\VObject\Property::add(string $name, string|null|array $value)

Adds a new parameter, and returns the new item.

If a parameter with same name already existed, the values will be combined.

  • Visibility: public

Arguments

  • $name string
  • $value string|null|array

parameters

array Sabre\VObject\Property::parameters()

Returns an iterable list of children

  • Visibility: public

getValueType

string Sabre\VObject\Property::getValueType()

Returns the type of value.

This corresponds to the VALUE= parameter. Every property also has a 'default' valueType.

  • Visibility: public
  • This method is abstract.

setRawMimeDirValue

void Sabre\VObject\Property::setRawMimeDirValue(string $val)

Sets a raw value coming from a mimedir (iCalendar/vCard) file.

This has been 'unfolded', so only 1 line will be passed. Unescaping is not yet done, but parameters are not included.

  • Visibility: public
  • This method is abstract.

Arguments

  • $val string

getRawMimeDirValue

string Sabre\VObject\Property::getRawMimeDirValue()

Returns a raw mime-dir representation of the value.

  • Visibility: public
  • This method is abstract.

serialize

string Sabre\VObject\Property::serialize()

Turns the object back into a serialized blob.

  • Visibility: public

getJsonValue

array Sabre\VObject\Property::getJsonValue()

Returns the value, in the format it should be encoded for json.

This method must always return an array.

  • Visibility: public

jsonSerialize

array Sabre\VObject\Property::jsonSerialize()

This method returns an array, with the representation as it should be encoded in json.

This is used to create jCard or jCal documents.

  • Visibility: public

__toString

string Sabre\VObject\Property::__toString()

Called when this object is being cast to a string.

If the property only had a single value, you will get just that. In the case the property had multiple values, the contents will be escaped and combined with ,.

  • Visibility: public

offsetExists

bool Sabre\VObject\Property::offsetExists(mixed $name)

Checks if an array element exists

  • Visibility: public

Arguments

  • $name mixed

offsetGet

\Sabre\VObject\Node Sabre\VObject\Property::offsetGet(string $name)

Returns a parameter.

If the parameter does not exist, null is returned.

  • Visibility: public

Arguments

  • $name string

offsetSet

void Sabre\VObject\Property::offsetSet(string $name, mixed $value)

Creates a new parameter

  • Visibility: public

Arguments

  • $name string
  • $value mixed

offsetUnset

void Sabre\VObject\Property::offsetUnset(string $name)

Removes one or more parameters with the specified name

  • Visibility: public

Arguments

  • $name string

__clone

void Sabre\VObject\Property::__clone()

This method is automatically called when the object is cloned.

Specifically, this will ensure all child elements are also cloned.

  • Visibility: public

validate

array Sabre\VObject\Property::validate(int $options)

Validates the node for correctness.

The following options are supported: - Node::REPAIR - If something is broken, and automatic repair may be attempted.

An array is returned with warnings.

Every item in the array has the following properties: * level - (number between 1 and 3 with severity information) * message - (human readable message) * node - (reference to the offending node)

  • Visibility: public

Arguments

  • $options int

getIterator

\Sabre\VObject\ElementList Sabre\VObject\Node::getIterator()

Returns the iterator for this object

setIterator

void Sabre\VObject\Node::setIterator(\Sabre\VObject\ElementList $iterator)

Sets the overridden iterator

Note that this is not actually part of the iterator interface

Arguments

count

int Sabre\VObject\Node::count()

Returns the number of elements

Clone this wiki locally