SubsiteState
class SubsiteState implements Resettable (View source)
SubsiteState provides static access to the current state for subsite related data during a request
Traits
A class that can be instantiated or replaced via DI
Properties
protected | int|null | $subsiteId | ||
protected | int|null | $originalSubsiteId | ||
protected | bool|null | $useSessions |
Methods
An implementation of the factory method, allows you to create an instance of a class
Creates a class instance by the "singleton" design pattern.
Set the current subsite ID, and track the first subsite ID set as the "original". This is used to check whether the ID has been changed through a request.
Set whether to use sessions for storing the subsite ID
Get whether the subsite ID has been changed during a request, based on the original and current IDs
Perform a given action within the context of a new, isolated state. Modifications are temporary and the existing state will be restored afterwards.
Details
static Injectable
create(mixed ...$args)
An implementation of the factory method, allows you to create an instance of a class
This method will defer class substitution to the Injector API, which can be customised via the Config API to declare substitution classes.
This can be called in one of two ways - either calling via the class directly, or calling on Object and passing the class name as the first parameter. The following are equivalent: $list = DataList::create(SiteTree::class); $list = SiteTree::get();
static Injectable
singleton(string $class = null)
Creates a class instance by the "singleton" design pattern.
It will always return the same instance for this class, which can be used for performance reasons and as a simple way to access instance methods which don't rely on instance data (e.g. the custom SilverStripe static handling).
int|null
getSubsiteId()
Get the current subsite ID
SubsiteState
setSubsiteId(int|null $id)
Set the current subsite ID, and track the first subsite ID set as the "original". This is used to check whether the ID has been changed through a request.
bool|null
getUseSessions()
Get whether to use sessions for storing the subsite ID
SubsiteState
setUseSessions(bool|null $useSessions)
Set whether to use sessions for storing the subsite ID
bool
getSubsiteIdWasChanged()
Get whether the subsite ID has been changed during a request, based on the original and current IDs
mixed
withState(callable $callback)
Perform a given action within the context of a new, isolated state. Modifications are temporary and the existing state will be restored afterwards.
static
reset()
Reset the local cache of the singleton
void
resetState()
Reset the local cache of this object