core/xpdo/transport/xpdoobjectvehicle.class.php

Show: inherited
Table of Contents

Defines a class that represents an xPDOObject within a transportable package.

Package
xpdo  
Subpackage
transport  

\xPDOObjectVehicle

Package: xpdo\transport

Represents an xPDOObject within an {@link xPDOTransport} package.

Extend this abstract class to provide custom xPDOVehicle behavior for various kinds of artifacts (e.g. objects, xPDOObjects, files, database schemas, etc.).

Parent(s)
\xPDOVehicle

Properties

Propertypublic  $class= ''xPDOObjectVehicle''
Default value'xPDOObjectVehicle'Details
Type
n/a
Propertypublicarray  $payload= 'array ()'
inherited

Represents the artifact and related attributes stored in the vehicle.

Inherited from: \xPDOVehicle::$$payload
Default valuearray ()Details
Type
array
Inherited_from
\xPDOVehicle::$$payload  

Methods

methodprotected_compilePayload( \xPDOTransport $transport ) : void
inherited

Compile necessary resources in preparation for storing the vehicle.

Inherited from: \xPDOVehicle::_compilePayload()
Parameters
Name Type Description
$transport \xPDOTransport

&$transport A reference to the transport the vehicle is being stored in.

Details
Access
protected  
methodprotected_installObject( \xPDOTransport $transport, array $options, array $element, \xPDOObject $parentObject, array $fkMeta ) : void

Install a single xPDOObject from the vehicle payload.

Parameters
Name Type Description
$transport \xPDOTransport

The host xPDOTransport instance.

$options array

Any optional attributes to apply to the installation.

$element array

A node of the payload representing the object to install.

$parentObject \xPDOObject

&$parentObject A reference to the object serving as a parent to the one being installed.

$fkMeta array

The foreign key relationship data that defines the relationship with the parentObject.

methodpublic_installRelated(  $transport,  $parent,  $element,  $options ) : void

Installs a related object from the vehicle.

Parameters
Name Type Description
$transport
$parent
$element
$options
methodprotected_putRelated( \xPDOTransport $transport, string $alias, \xPDOObject $object, array $payloadElement ) : void

Recursively put related objects into the vehicle.

Parameters
Name Type Description
$transport \xPDOTransport

The host xPDOTransport instance.

$alias string

The alias representing the relation to the parent object.

$object \xPDOObject

&$object A reference to the dependent object being added into the vehicle.

$payloadElement array

An element of the payload to place the dependent object in.

Details
Access
protected  
methodpublic_uninstallObject(  $transport,  $options,  $element,  $parentObject,  $fkMeta ) : void

Uninstall the xPDOObjects represented by a vehicle element from the transport host.

Parameters
Name Type Description
$transport
$options
$element
$parentObject
$fkMeta
methodpublic_uninstallRelated(  $transport,  $parent,  $element,  $options ) : void

Uninstalls related objects from the vehicle.

Parameters
Name Type Description
$transport
$parent
$element
$options
methodpublicget( \xPDOTransport $transport, array $options = array (), array $element = null ) : void

Retrieve an xPDOObject instance represented in this vehicle.

This method returns the main object contained in the payload, but you can optionally specify a related_objects node within the payload to retrieve a specific dependent object.

Parameters
Name Type Description
$transport \xPDOTransport

The transport package containing this vehicle.

$options array

Options that apply to the artifact or retrieval process.

$element array

An optional payload element representing a specific part of the artifact to operate on. If not specified, the root element of the payload is used.

methodpublicinstall( \xPDOTransport $transport, array $options ) : boolean

Install the xPDOObjects represented by vehicle into the transport host.

Parameters
Name Type Description
$transport \xPDOTransport

&$transport A reference to the transport.

$options array

An array of options for altering the installation of the artifact.

Returns
Type Description
boolean True if the installation of the vehicle artifact was successful.
methodpublicput( \xPDOTransport $transport, mixed $object, array $attributes = array () ) : void

Put an xPDOObject representation into a transport package.

This implementation supports the inclusion of related objects. Simply instantiate the related objects that you want to include in the vehicle on the main object, and set xPDOTransport::RELATED_OBJECTS => true in your attributes.

Parameters
Name Type Description
$transport \xPDOTransport

The transport package hosting the vehicle.

$object mixed

&$object A reference to the artifact this vehicle will represent.

$attributes array

Additional attributes represented in the vehicle.

methodpublicregister( \xPDOTransport $transport ) : array
inherited

Build a manifest entry to be registered in a transport for this vehicle.

Inherited from: \xPDOVehicle::register()
Parameters
Name Type Description
$transport \xPDOTransport

&$transport The xPDOTransport instance to register the vehicle into.

Returns
Type Description
array An array of vehicle attributes that will be registered into an xPDOTransport manifest.
methodpublicresolve( \xPDOTransport $transport, mixed $object, array $options = array () ) : boolean
inherited

Resolve any dependencies of the artifact represented in this vehicle.

Inherited from: \xPDOVehicle::resolve()
Parameters
Name Type Description
$transport \xPDOTransport

&$transport A reference to the xPDOTransport in which this vehicle is stored.

$object mixed

&$object An object reference to resolve dependencies for. Use this to make the artifact or other important data available to the resolver scripts.

$options array

Additional options for the resolution process.

Returns
Type Description
boolean Indicates if the resolution was successful.
methodpublicstore( \xPDOTransport $transport ) : boolean
inherited

Store this xPDOVehicle instance into an xPDOTransport.

Inherited from: \xPDOVehicle::store()
Parameters
Name Type Description
$transport \xPDOTransport

&$transport The transport to store the vehicle in.

Returns
Type Description
boolean Indicates if the vehicle was stored in the transport.
methodpublicuninstall( \xPDOTransport $transport, array $options ) : void

Uninstalls vehicle artifacts from the transport host.

Parameters
Name Type Description
$transport \xPDOTransport

&$transport A reference to the transport.

$options array

An array of options for altering the uninstallation of the artifact.

methodpublicvalidate( \xPDOTransport $transport, \xPDOObject $object, array $options = array () ) : boolean
inherited

Validate any dependencies for the object represented in this vehicle.

Inherited from: \xPDOVehicle::validate()
Parameters
Name Type Description
$transport \xPDOTransport

&$transport A reference to the xPDOTransport in which this vehicle is stored.

$object \xPDOObject

&$object An object reference to access during validation.

$options array

Additional options for the validation process.

Returns
Type Description
boolean Indicating if the validation was successful.
Documentation was generated by DocBlox 0.18.1.