core/xpdo/transport/xpdovehicle.class.php
Abstract class that represents an artifact within a transportable package.
- Package
- xpdo
- Subpackage
- transport
\xPDOVehicle
Represents an individual artifact 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.).
- Children
- \xPDOFileVehicle
- \xPDOTransportVehicle
- \xPDOObjectVehicle
- Abstract
Properties
Methods

_compilePayload(
\xPDOTransport $transport
)
:
voidCompile necessary resources in preparation for storing the vehicle.
| Name | Type | Description |
|---|---|---|
| $transport | \xPDOTransport | &$transport A reference to the transport the vehicle is being stored in. |
- Access
- protected

get(
\xPDOTransport $transport, array $options
=
array (), array $element
=
null
)
:
voidRetrieve an artifact represented in this vehicle.
By default, this method simply returns the raw payload merged with the provided options, but you can optionally provide a payload element specifically on which to operate as well as override the method in derivatives to further transform the returned artifact.
| 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. |

install(
\xPDOTransport $transport, array $options
)
:
booleanInstall the vehicle artifact into a transport host.
| Name | Type | Description |
|---|---|---|
| $transport | \xPDOTransport | &$transport A reference to the transport. |
| $options | array | An array of options for altering the installation of the artifact. |
| Type | Description |
|---|---|
| boolean | True if the installation of the vehicle artifact was successful. |
- Abstract
- Implement this in a derivative to make an installable vehicle.

put(
\xPDOTransport $transport, mixed $object, array $attributes
=
array ()
)
:
voidPut an artifact representation into this vehicle.
| 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. |

register(
\xPDOTransport $transport
)
:
arrayBuild a manifest entry to be registered in a transport for this vehicle.
| Name | Type | Description |
|---|---|---|
| $transport | \xPDOTransport | &$transport The xPDOTransport instance to register the vehicle into. |
| Type | Description |
|---|---|
| array | An array of vehicle attributes that will be registered into an xPDOTransport manifest. |

resolve(
\xPDOTransport $transport, mixed $object, array $options
=
array ()
)
:
booleanResolve any dependencies of the artifact represented in this vehicle.
| 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. |
| Type | Description |
|---|---|
| boolean | Indicates if the resolution was successful. |

store(
\xPDOTransport $transport
)
:
booleanStore this xPDOVehicle instance into an xPDOTransport.
| Name | Type | Description |
|---|---|---|
| $transport | \xPDOTransport | &$transport The transport to store the vehicle in. |
| Type | Description |
|---|---|
| boolean | Indicates if the vehicle was stored in the transport. |

uninstall(
\xPDOTransport $transport, array $options
)
:
voidUninstalls the vehicle artifact from a transport host.
| Name | Type | Description |
|---|---|---|
| $transport | \xPDOTransport | &$transport A reference to the transport. |
| $options | array | An array of options for altering the uninstallation of the artifact. |
- Abstract
- Implement this in a derivative to make an uninstallable vehicle.

validate(
\xPDOTransport $transport, \xPDOObject $object, array $options
=
array ()
)
:
booleanValidate any dependencies for the object represented in this vehicle.
| 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. |
| Type | Description |
|---|---|
| boolean | Indicating if the validation was successful. |