Version: current

# Package sapphire\core

## Classes summary

Aggregate | Calculate an Aggregate on a particular field of a particular DataObject type (possibly with an additional filter before the aggregate)
Aggregate_Relationship | A subclass of Aggregate that calculates aggregates for the result of a has_many query.
AssetAdminQuotaExtension | Add extension that can be added to an object with `Object::add_extension()`. For `DataObject` extensions, use `DataObjectDecorator`. Each extension instance has an "owner" instance, accessible through `Extension::getOwner()`. Every object instance gets its own set of extension instances, meaning you can set parameters specific to the "owner instance" in new Extension instances.
AttachedFilesExtension | Add extension that can be added to an object with `Object::add_extension()`. For `DataObject` extensions, use `DataObjectDecorator`. Each extension instance has an "owner" instance, accessible through `Extension::getOwner()`. Every object instance gets its own set of extension instances, meaning you can set parameters specific to the "owner instance" in new Extension instances.
BookingWidget | Add extension that can be added to an object with `Object::add_extension()`. For `DataObject` extensions, use `DataObjectDecorator`. Each extension instance has an "owner" instance, accessible through `Extension::getOwner()`. Every object instance gets its own set of extension instances, meaning you can set parameters specific to the "owner instance" in new Extension instances.
ClassInfo | Provides introspection information about the class tree. It's a cached wrapper around the built-in class functions. Sapphire uses class introspection heavily and without the caching it creates an unfortunate performance hit.
ControllerRedirectExtension | Add extension that can be added to an object with `Object::add_extension()`. For `DataObject` extensions, use `DataObjectDecorator`. Each extension instance has an "owner" instance, accessible through `Extension::getOwner()`. Every object instance gets its own set of extension instances, meaning you can set parameters specific to the "owner instance" in new Extension instances.
CSSContentParser | CSSContentParser enables parsing & assertion running of HTML content via CSS selectors.
DisableJSValidation | Add extension that can be added to an object with `Object::add_extension()`. For `DataObject` extensions, use `DataObjectDecorator`. Each extension instance has an "owner" instance, accessible through `Extension::getOwner()`. Every object instance gets its own set of extension instances, meaning you can set parameters specific to the "owner instance" in new Extension instances.
Extension | Add extension that can be added to an object with `Object::add_extension()`. For `DataObject` extensions, use `DataObjectDecorator`. Each extension instance has an "owner" instance, accessible through `Extension::getOwner()`. Every object instance gets its own set of extension instances, meaning you can set parameters specific to the "owner instance" in new Extension instances.
HtmlEditorQuotaExtension | Add extension that can be added to an object with `Object::add_extension()`. For `DataObject` extensions, use `DataObjectDecorator`. Each extension instance has an "owner" instance, accessible through `Extension::getOwner()`. Every object instance gets its own set of extension instances, meaning you can set parameters specific to the "owner instance" in new Extension instances.
ManifestBuilder | The ManifestBuilder class generates the manifest file and keeps it fresh.
MobileExtension | Add extension that can be added to an object with `Object::add_extension()`. For `DataObject` extensions, use `DataObjectDecorator`. Each extension instance has an "owner" instance, accessible through `Extension::getOwner()`. Every object instance gets its own set of extension instances, meaning you can set parameters specific to the "owner instance" in new Extension instances.
Object | A base class for all sapphire objects to inherit from.
PaymentMethodAutoHide | Add extension that can be added to an object with `Object::add_extension()`. For `DataObject` extensions, use `DataObjectDecorator`. Each extension instance has an "owner" instance, accessible through `Extension::getOwner()`. Every object instance gets its own set of extension instances, meaning you can set parameters specific to the "owner instance" in new Extension instances.
ProductSearchFormExtension | Add extension that can be added to an object with `Object::add_extension()`. For `DataObject` extensions, use `DataObjectDecorator`. Each extension instance has an "owner" instance, accessible through `Extension::getOwner()`. Every object instance gets its own set of extension instances, meaning you can set parameters specific to the "owner instance" in new Extension instances.
SS_Cache | SS_Cache provides a bunch of static functions wrapping the Zend_Cache system in something a little more easy to use with the SilverStripe config system.
TokenisedRegularExpression | A tokenised regular expression is a parser, similar to a regular expression, that acts on tokens rather than characters. This is a crucial component of the ManifestBuilder.
ValidationResult | A class that combined as a boolean result with an optional list of error messages. This is used for returning validation results from validators
WebylonSiteSearchExtension | Add extension that can be added to an object with `Object::add_extension()`. For `DataObject` extensions, use `DataObjectDecorator`. Each extension instance has an "owner" instance, accessible through `Extension::getOwner()`. Every object instance gets its own set of extension instances, meaning you can set parameters specific to the "owner instance" in new Extension instances.
YamlFixture | Uses the Spyc library to parse a YAML document (see http://yaml.org). YAML is a simple markup languages that uses tabs and colons instead of the more verbose XML tags, and because of this much better for developers creating files by hand.

## Functions summary

__autoload | Sapphire class autoloader. Requires the ManifestBuilder to work. $_CLASS_MANIFEST must have been loaded up by ManifestBuilder for this to successfully load classes. Classes will be loaded from any PHP file within the application. If your class contains an underscore, for example, Page_Controller, then the filename is expected to be the stuff before the underscore. In this case, Page.php.
_t |
array_fill_keys |
getClassFile | Return the file where that class is stored
getSysTempDir |
getTempFolder | Returns the temporary folder that sapphire/silverstripe should use for its cache files This is loaded into the TEMP_FOLDER define on start up
increase_memory_limit_to | Increase the memory limit to the given level if it's currently too low.
increase_time_limit_to | Increase the time limit of this script. By default, the time will be unlimited.
project |
singleton | 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).
stripslashes_recursively |
translate_memstring | Turn a memory string, such as 512M into an actual number of bytes.

[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. -