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