Overview

Namespaces

  • Charcoal
    • Object
    • User
      • Acl

Classes

  • Content
  • ObjectRevision
  • ObjectRoute
  • ObjectSchedule
  • UserData

Interfaces

  • ArchivableInterface
  • CategorizableInterface
  • CategorizableMultipleInterface
  • CategoryInterface
  • ContentInterface
  • HierarchicalInterface
  • ObjectRevisionInterface
  • ObjectRouteInterface
  • ObjectScheduleInterface
  • PublishableInterface
  • RevisionableInterface
  • RoutableInterface
  • UserDataInterface

Traits

  • ArchivableTrait
  • CategorizableMultipleTrait
  • CategorizableTrait
  • CategoryTrait
  • HierarchicalTrait
  • PublishableTrait
  • RevisionableTrait
  • RoutableTrait
  • Overview
  • Namespace
  • Class

Class ObjectRevision

Represents the changeset of an object.

A revision is a record of modifications to an object.

Intended to be used to collect all routes related to models under a single source (e.g., database table).

Charcoal\Object\ObjectRoute for a similar model that aggregates data under a common source.

Charcoal\Model\AbstractModel
Extended by Charcoal\Object\ObjectRevision implements Charcoal\Object\ObjectRevisionInterface
Namespace: Charcoal\Object
Located at Charcoal/Object/ObjectRevision.php
Methods summary
public
# setDependencies( Pimple\Container $container )

Dependencies

Dependencies

Parameters

$container
DI Container.
protected
# setModelFactory( Charcoal\Factory\FactoryInterface $factory )

Parameters

$factory
The factory used to create models.
protected Charcoal\Factory\FactoryInterface
# modelFactory( )

Returns

Charcoal\Factory\FactoryInterface
The model factory.
public Charcoal\Object\ObjectRevision
# setTargetType( string $targetType )

Parameters

$targetType
The object type (type-ident).

Returns

Charcoal\Object\ObjectRevision
Chainable

Throws

InvalidArgumentException
If the obj type parameter is not a string.

Implementation of

Charcoal\Object\ObjectRevisionInterface::setTargetType()
public string
# targetType( )

Returns

string

Implementation of

Charcoal\Object\ObjectRevisionInterface::targetType()
public Charcoal\Object\ObjectRevision
# setTargetId( mixed $targetId )

Parameters

$targetId
The object ID.

Returns

Charcoal\Object\ObjectRevision
Chainable

Implementation of

Charcoal\Object\ObjectRevisionInterface::setTargetId()
public mixed
# targetId( )

Returns

mixed

Implementation of

Charcoal\Object\ObjectRevisionInterface::targetId()
public Charcoal\Object\ObjectRevision
# setRevNum( integer $revNum )

Parameters

$revNum
The revision number.

Returns

Charcoal\Object\ObjectRevision
Chainable

Throws

InvalidArgumentException
If the revision number argument is not numerical.

Implementation of

Charcoal\Object\ObjectRevisionInterface::setRevNum()
public integer
# revNum( )

Returns

integer

Implementation of

Charcoal\Object\ObjectRevisionInterface::revNum()
public Charcoal\Object\ObjectRevision
# setRevTs( mixed $revTs )

Parameters

$revTs
The revision's timestamp.

Returns

Charcoal\Object\ObjectRevision
Chainable

Throws

InvalidArgumentException
If the timestamp is invalid.

Implementation of

Charcoal\Object\ObjectRevisionInterface::setRevTs()
public DateTimeInterface|null
# revTs( )

Returns

DateTimeInterface|null

Implementation of

Charcoal\Object\ObjectRevisionInterface::revTs()
public Charcoal\Object\ObjectRevision
# setRevUser( string $revUser )

Parameters

$revUser
The revision user ident.

Returns

Charcoal\Object\ObjectRevision
Chainable

Throws

InvalidArgumentException
If the revision user parameter is not a string.

Implementation of

Charcoal\Object\ObjectRevisionInterface::setRevUser()
public string
# revUser( )

Returns

string

Implementation of

Charcoal\Object\ObjectRevisionInterface::revUser()
public Charcoal\Object\ObjectRevision
# setDataPrev( string|array $data )

Parameters

$data
The previous revision data.

Returns

Charcoal\Object\ObjectRevision
Chainable

Implementation of

Charcoal\Object\ObjectRevisionInterface::setDataPrev()
public array
# dataPrev( )

Returns

array

Implementation of

Charcoal\Object\ObjectRevisionInterface::dataPrev()
public Charcoal\Object\ObjectRevision
# setDataObj( array|string $data )

Parameters

$data
The current revision (object) data.

Returns

Charcoal\Object\ObjectRevision
Chainable

Implementation of

Charcoal\Object\ObjectRevisionInterface::setDataObj()
public array
# dataObj( )

Returns

array

Implementation of

Charcoal\Object\ObjectRevisionInterface::dataObj()
public Charcoal\Object\ObjectRevision
# setDataDiff( array|string $data )

Parameters

$data
The data diff.

Returns

Charcoal\Object\ObjectRevision

Implementation of

Charcoal\Object\ObjectRevisionInterface::setDataDiff()
public array
# dataDiff( )

Returns

array

Implementation of

Charcoal\Object\ObjectRevisionInterface::dataDiff()
public Charcoal\Object\ObjectRevision
# createFromObject( Charcoal\Object\RevisionableInterface $obj )

Create a new revision from an object

Create a new revision from an object

  1. Load the last revision
  2. Load the current item from DB
  3. Create diff from (1) and (2).

Parameters

$obj
The object to create the revision from.

Returns

Charcoal\Object\ObjectRevision
Chainable

Implementation of

Charcoal\Object\ObjectRevisionInterface::createFromObject()
public array
# createDiff( array $dataPrev = null, array $dataObj = null )

Parameters

$dataPrev
Optional. Previous revision data.
$dataObj
Optional. Current revision (object) data.

Returns

array
The diff data

Implementation of

Charcoal\Object\ObjectRevisionInterface::createDiff()
public array
# recursiveDiff( array $array1, array $array2 )

Recursive arrayDiff.

Recursive arrayDiff.

Parameters

$array1
First array.
$array2
Second Array.

Returns

array
The array diff.

Implementation of

Charcoal\Object\ObjectRevisionInterface::recursiveDiff()
public Charcoal\Object\ObjectRevision
# lastObjectRevision( Charcoal\Object\RevisionableInterface $obj )

Parameters

$obj
The object to load the last revision of.

Returns

Charcoal\Object\ObjectRevision
The last revision for the give object.

Implementation of

Charcoal\Object\ObjectRevisionInterface::lastObjectRevision()
public Charcoal\Object\ObjectRevision
# objectRevisionNum( Charcoal\Object\RevisionableInterface $obj, integer $revNum )

Retrieve a specific object revision, by revision number.

Retrieve a specific object revision, by revision number.

Parameters

$obj
Target object.
$revNum
The revision number to load.

Returns

Charcoal\Object\ObjectRevision

Implementation of

Charcoal\Object\ObjectRevisionInterface::objectRevisionNum()
API documentation generated by ApiGen