class PublishableSiteTree extends Extension implements StaticallyPublishable, StaticPublishingTrigger (View source)

Bare-bones implementation of a publishable page.

You can override this either by implementing one of the interfaces the class directly, or by applying an extension via the config system ordering (inject your extension "before" the PublishableSiteTree).

Constants

REGENERATE_RELATIONS_NONE

REGENERATE_RELATIONS_DIRECT

REGENERATE_RELATIONS_RECURSIVE

Properties

protected T $owner

The object this extension is applied to.

from  Extension

Methods

public
__construct()

No description

public static 
add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

public
setOwner(object $owner)

Set the owner of this extension.

public
mixed
withOwner(mixed $owner, callable $callback, array $args = [])

Temporarily modify the owner. The original owner is ensured to be restored

public
clearOwner()

Clear the current owner, and restore extension to the state prior to the last setOwner()

public
T
getOwner()

Returns the owner of this extension.

public static 
string
get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().

public
mixed
invokeExtension(object $owner, string $method, array ...$arguments)

Invoke extension point. This will prefer explicit extend prefixed methods.

public
getMyVirtualPages()

No description

public
iterable
objectsToUpdate(array $context)

No description

public
iterable
objectsToDelete(array $context)

This method controls which caches will be purged

public
array
urlsToCache()

The only URL belonging to this object is its own URL.

Details

__construct()

No description

static add_to_class(string $class, string $extensionClass, mixed $args = null)

Called when this extension is added to a particular class

Parameters

string $class
string $extensionClass
mixed $args

setOwner(object $owner)

Set the owner of this extension.

Parameters

object $owner

The owner object

mixed withOwner(mixed $owner, callable $callback, array $args = [])

Temporarily modify the owner. The original owner is ensured to be restored

Parameters

mixed $owner

Owner to set

callable $callback

Callback to invoke

array $args

Args to pass to callback

Return Value

mixed

clearOwner()

Clear the current owner, and restore extension to the state prior to the last setOwner()

T getOwner()

Returns the owner of this extension.

Return Value

T

static string get_classname_without_arguments(string $extensionStr)

Helper method to strip eval'ed arguments from a string that's passed to DataObject::$extensions or Object::add_extension().

Parameters

string $extensionStr

E.g. "Versioned('Stage','Live')"

Return Value

string

Extension classname, e.g. "Versioned"

mixed invokeExtension(object $owner, string $method, array ...$arguments)

Invoke extension point. This will prefer explicit extend prefixed methods.

Parameters

object $owner
string $method
array ...$arguments

Return Value

mixed

getMyVirtualPages()

No description

iterable objectsToUpdate(array $context)

No description

Parameters

array $context

An associative array with extra engine-specific information.

Return Value

iterable

iterable objectsToDelete(array $context)

This method controls which caches will be purged

Parameters

array $context

An associative array with extra engine-specific information.

Return Value

iterable

array urlsToCache()

The only URL belonging to this object is its own URL.

Return Value

array

associative array of URL (string) => Priority (int)