lithium\util\Collection::to()
Converts a Collection
object to another type of object, or a simple type such as an array.
The supported values of $format
depend on the format handlers registered in the static
property Collection::$_formats
. The Collection
class comes with built-in support for
array conversion, but other formats may be registered.
Once the appropriate handlers are registered, a Collection
instance can be
converted into any handler-supported format, i.e.:
$collection->to('json'); // returns a JSON string
$collection->to('xml'); // returns an XML string
Please note that Lithium does not ship with a default XML handler, but one can be configured easily.
Parameters
-
string
$format
By default the only supported value is
'array'
. However, additional format handlers can be registered using theformats()
method. -
array
$options
Options for converting this collection:
'internal'
boolean: Indicates whether the current internal representation of the collection should be exported. Defaults tofalse
, which uses the standard iterator interfaces. This is useful for exporting record sets, where records are lazy-loaded, and the collection must be iterated in order to fetch all objects.
Returns
mixedThe object converted to the value specified in $format
; usually an array or
string.
Source
public function to($format, array $options = []) {
$defaults = ['internal' => false];
$options += $defaults;
$data = $options['internal'] ? $this->_data : $this;
return $this->_to($format, $data, $options);
}