Version: current

# Package sapphire\control

## Classes summary

Announcement_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
AnnouncementHolder_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
BookingAdminPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
BookingPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
Cart_Controller | Base controller class. Controllers are the cornerstone of all site functionality in Sapphire. The `Director` selects a controller to pass control to, and then calls run(). This method will execute the appropriate action - either by calling the action method, or displaying the action's template.
CartPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
Catalog_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
CheckoutPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
ChequePayment_Handler | Base controller class. Controllers are the cornerstone of all site functionality in Sapphire. The `Director` selects a controller to pass control to, and then calls run(). This method will execute the appropriate action - either by calling the action method, or displaying the action's template.
ContactsPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
ContentController | The most common kind of controller; effectively a controller linked to a `DataObject`.
ContentNegotiator | The content negotiator performs "text/html" or "application/xhtml+xml" switching. It does this through the static function ContentNegotiator::process(). By default, ContentNegotiator will comply to the Accept headers the clients sends along with the HTTP request, which is most likely "application/xhtml+xml" (see "Order of selection" below).
Controller | Base controller class. Controllers are the cornerstone of all site functionality in Sapphire. The `Director` selects a controller to pass control to, and then calls run(). This method will execute the appropriate action - either by calling the action method, or displaying the action's template.
DataObjectManager_Controller | Base controller class. Controllers are the cornerstone of all site functionality in Sapphire. The `Director` selects a controller to pass control to, and then calls run(). This method will execute the appropriate action - either by calling the action method, or displaying the action's template.
DatePickerField_Controller | Base controller class. Controllers are the cornerstone of all site functionality in Sapphire. The `Director` selects a controller to pass control to, and then calls run(). This method will execute the appropriate action - either by calling the action method, or displaying the action's template.
Director | Director is responsible for processing URLs, and providing environment information.
DocPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
DocumentsPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
Event_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
EventHolder_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
FavoritePage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
FileDataObjectManager_Controller | Base controller class. Controllers are the cornerstone of all site functionality in Sapphire. The `Director` selects a controller to pass control to, and then calls run(). This method will execute the appropriate action - either by calling the action method, or displaying the action's template.
FindCyrillic_Controller | Base controller class. Controllers are the cornerstone of all site functionality in Sapphire. The `Director` selects a controller to pass control to, and then calls run(). This method will execute the appropriate action - either by calling the action method, or displaying the action's template.
HomePage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
Import1C_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
ImportCatalog1C_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
LastDoc_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
LiveCalendarWidget_Controller | Base controller class. Controllers are the cornerstone of all site functionality in Sapphire. The `Director` selects a controller to pass control to, and then calls run(). This method will execute the appropriate action - either by calling the action method, or displaying the action's template.
MapObject_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
MapObjectGroup_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
MapPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
MediawebPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
ModelAsController | ModelAsController deals with mapping the initial request to the first `SiteTree`/`ContentController` pair, which are then used to handle the request.
Monument_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
MonumentCatalog_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
MonumentForm_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
MultiUploadControls | Base controller class. Controllers are the cornerstone of all site functionality in Sapphire. The `Director` selects a controller to pass control to, and then calls run(). This method will execute the appropriate action - either by calling the action method, or displaying the action's template.
NewsArchive_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
NewsEntry_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
NewsHolder_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
Orders1CExchange_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
Page_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
Payment_Handler | Base controller class. Controllers are the cornerstone of all site functionality in Sapphire. The `Director` selects a controller to pass control to, and then calls run(). This method will execute the appropriate action - either by calling the action method, or displaying the action's template.
PhotoAlbumManager_Controller | Base controller class. Controllers are the cornerstone of all site functionality in Sapphire. The `Director` selects a controller to pass control to, and then calls run(). This method will execute the appropriate action - either by calling the action method, or displaying the action's template.
Product_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
ProductSearchPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
ProfilePage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
PublHolder_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
Publication_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
RatingExtension_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
RegistrationPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
RemoveOrphanedPagesTask | Base controller class. Controllers are the cornerstone of all site functionality in Sapphire. The `Director` selects a controller to pass control to, and then calls `RemoveOrphanedPagesTask::run()`. This method will execute the appropriate action - either by calling the action method, or displaying the action's template.
RequestHandler | This class is the base class of any Sapphire object that can be used to handle HTTP requests.
Room_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
RoomCatalog_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
RootURLController |
SapphireInfo | Returns information about the current site instance.
Search_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
Session | Handles all manipulation of the session.
SimpleOrderPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
SiteMap_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
Socle_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
SocleSize_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
SpecialCatalog_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
SS_HTTPRequest | Represents a HTTP-request, including a URL that is tokenised for parsing, and a request method (GET/POST/PUT/DELETE). This is used by `RequestHandler` objects to decide what to do.
SS_HTTPResponse | Represents a response returned by a controller.
StartCatalog_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
SubsitesSelectorPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.
VideoBankPage_Controller | The most common kind of controller; effectively a controller linked to a `DataObject`.

## Interfaces summary

NestedController | Interface that is implemented by controllers that are designed to hand control over to another controller. ModelAsController, which selects up a SiteTree object and passes control over to a suitable subclass of ContentController, is a good example of this.

## Exceptions summary

SS_HTTPResponse_Exception | A `SS_HTTPResponse` encapsulated in an exception, which can interrupt the processing flow and be caught by the `RequestHandler` and returned to the user.

[Raise a SilverStripe Framework issue/bug](https://github.com/silverstripe/silverstripe-framework/issues/new)
- [Raise a SilverStripe CMS issue/bug](https://github.com/silverstripe/silverstripe-cms/issues/new)
- Please use the Silverstripe Forums to ask development related questions. -