Classes:

search
AdvancedSearchForm
ContentControllerSearchExtension
EndsWithFilter
ExactMatchFilter
ExactMatchMultiFilter
FulltextFilter
FulltextSearchable
GreaterThanFilter
LessThanFilter
NegationFilter
PartialMatchFilter
SearchContext
SearchFilter
SearchForm
StartsWithFilter
StartsWithMultiFilter
SubstringFilter
WithinRangeFilter
core
Aggregate
Aggregate_Relationship
ClassInfo
CSSContentParser
Extension
ManifestBuilder
Object
SS_Cache
TokenisedRegularExpression
ValidationResult
YamlFixture
filesystem
Archive
File
Filesystem
FlushGeneratedImagesTask
Folder
Folder_UnusedAssetsField
GD
Image
Image_Cached
TarballArchive
Upload
Upload_Validator
view
ArrayData
Requirements
Requirements_Backend
SSViewer
SSViewer_Cached_PartialParser
SSViewer_FromString
SSViewer_PartialParser
ViewableData
ViewableData_Customised
ViewableData_Debugger
misc
ArrayLib
BBCodeParser
Convert
Cookie
DataDifferencer
Geoip
HTMLCleaner
HTTP
i18n
Profiler
ShortcodeParser
SSHTMLBBCodeParser
SSHTMLBBCodeParser_Filter
SSHTMLBBCodeParser_Filter_Basic
SSHTMLBBCodeParser_Filter_EmailLinks
SSHTMLBBCodeParser_Filter_Extended
SSHTMLBBCodeParser_Filter_Images
SSHTMLBBCodeParser_Filter_Links
SSHTMLBBCodeParser_Filter_Lists
TextParser
Translatable_Transformation
XML
security
Authenticator
BasicAuth
ChangePasswordForm
Group
GroupCsvBulkLoader
LoginAttempt
LoginForm
Member
MemberAuthenticator
MemberCsvBulkLoader
MemberLoginForm
MemberPassword
Member_ChangePasswordEmail
Member_DatetimeOptionsetField
Member_ForgotPasswordEmail
Member_GroupSet
Member_ProfileForm
Member_SignupEmail
Member_Validator
NullSecurityToken
NZGovtPasswordValidator
PasswordEncryptor
PasswordEncryptor_LegacyPHPHash
PasswordEncryptor_MySQLOldPassword
PasswordEncryptor_MySQLPassword
PasswordEncryptor_None
PasswordEncryptor_NotFoundException
PasswordEncryptor_PHPHash
PasswordValidator
Permission
PermissionCheckboxSetField
PermissionCheckboxSetField_Readonly
PermissionRole
PermissionRoleCode
Permission_Group
RandomGenerator
Security
SecurityToken
dev
BuildTask
CliDebugView
Debug
DebugView
DevelopmentAdmin
MigrationTask
MySQLDatabaseConfigurationHelper
PhpUnitWrapper
PhpUnitWrapper_3_4
PhpUnitWrapper_3_5
PhpUnitWrapper_Exception
SapphireREPL
SS_Backtrace
SS_Cli
SS_Log
SS_LogEmailWriter
SS_LogErrorEmailFormatter
SS_LogErrorFileFormatter
SS_LogFileWriter
SS_ZendLog
TaskRunner
model
Boolean
ComponentSet
Currency
DatabaseAdmin
DataObject
DataObjectDecorator
DataObjectLog
DataObjectSet
DataObjectSet_Iterator
Date
DB
DBField
Decimal
Double
Enum
Float
ForeignKey
Hierarchy
HTMLText
HTMLVarchar
Int
Money
MultiEnum
MySQLDatabase
MySQLQuery
Percentage
PrimaryKey
SiteTreeDecorator
SQLMap
SQLMap_Iterator
SQLQuery
SS_Database
SS_Datetime
SS_Query
StringField
Text
Time
Transliterator
Varchar
Versioned
Versioned_Version
Year
cron
CliController
DailyTask
HourlyTask
MonthlyTask
QuarterHourlyTask
ScheduledTask
WeeklyTask
YearlyTask
testing
CliTestReporter
FunctionalTest
InstallerTest
JSTestRunner
PHPUnit_Framework_TestCase
SapphireTest
SapphireTestReporter
SapphireTestSuite
SS_TestListener
TestRunner
TestSession
TestSession_STResponseWrapper
TestViewer
tools
CodeViewer
ModelViewer
ModelViewer_Field
ModelViewer_Model
ModelViewer_Module
ModelViewer_Relation
control
ContentController
ContentNegotiator
Controller
Director
ModelAsController
Page_Controller
RequestHandler
RootURLController
SapphireInfo
Session
SS_HTTPRequest
SS_HTTPResponse
SS_HTTPResponse_Exception
bulkloading
CSVParser
formatters
DataFormatter
FormEncodedDataFormatter
JSONDataFormatter
XMLDataFormatter
forms
DateField_View_JQuery
DatetimeField
FormScaffolder
NestedForm
i18n
DBLocale
i18nTextCollector
Translatable
email
Email
Email_BounceHandler
Email_BounceRecord
Mailer
QueuedEmail
QueuedEmailDispatchTask
TestMailer
tasks
EncryptAllPasswordsTask
i18nTextCollectorTask
MigrateSiteTreeLinkingTask
MigrateTranslatableTask
RemoveOrphanedPagesTask
UpgradeSiteTreePermissionSchemaTask
integration
RestfulService
RestfulService_Response
RSSFeed
RSSFeed_Entry
SapphireSoapServer
SS_HTMLValue
VersionedRestfulServer
fields-formattedinput
MoneyField
api
RestfulServer
RestfulServer_Item
RestfulServer_List
SOAPModelAccess
parsers
SQLFormatter
validation
ValidationException
widgets
Widget
WidgetArea
Widget_Controller
Widget_TreeDropdownField

Files:

Show/hide

DatabaseConfigurationHelper.php
DateField.php
Page.php
Translatable.php
subpackage api
RestfulServer.php
SOAPModelAccess.php
subpackage bulkloading
CSVParser.php
subpackage control
ContentController.php
ContentNegotiator.php
Controller.php
Director.php
HTTPRequest.php
HTTPResponse.php
ModelAsController.php
NestedController.php
RequestHandler.php
RootURLController.php
SapphireInfo.php
Session.php
subpackage core
Aggregate.php
Cache.php
ClassInfo.php
cli-script.php
ConfigureFromEnv.php
CSSContentParser.php
Extension.php
ManifestBuilder.php
Object.php
TokenisedRegularExpression.php
ValidationResult.php
YamlFixture.php
subpackage cron
CliController.php
DailyTask.php
HourlyTask.php
MonthlyTask.php
QuarterHourlyTask.php
ScheduledTask.php
WeeklyTask.php
YearlyTask.php
subpackage dev
Backtrace.php
BuildTask.php
Cli.php
CliDebugView.php
Debug.php
DebugView.php
DevelopmentAdmin.php
Log.php
LogEmailWriter.php
LogErrorEmailFormatter.php
LogErrorFileFormatter.php
LogFileWriter.php
MigrationTask.php
MySQLDatabaseConfigurationHelper.php
PhpUnitWrapper_3_4.php
PhpUnitWrapper_3_5.php
SapphireREPL.php
TaskRunner.php
ZendLog.php
subpackage email
Email.php
Mailer.php
QueuedEmail.php
QueuedEmailDispatchTask.php
TestMailer.php
subpackage fields-formattedinput
MoneyField.php
subpackage filesystem
Archive.php
File.php
Filesystem.php
FlushGeneratedImagesTask.php
Folder.php
GD.php
Image.php
TarballArchive.php
Upload.php
subpackage formatters
DataFormatter.php
FormEncodedDataFormatter.php
JSONDataFormatter.php
XMLDataFormatter.php
subpackage forms
DatetimeField.php
FormScaffolder.php
NestedForm.php
subpackage i18n
DBLocale.php
i18nEntityProvider.php
i18nTextCollector.php
subpackage integration
HTMLValue.php
RestfulService.php
RSSFeed.php
SapphireSoapServer.php
VersionedRestfulServer.php
subpackage misc
ArrayLib.php
Basic.php
BBCodeParser.php
Convert.php
Cookie.php
DataDifferencer.php
EmailLinks.php
Extended.php
Filter.php
Geoip.php
HTMLBBCodeParser.php
HTMLCleaner.php
HTTP.php
i18n.php
Images.php
Links.php
Lists.php
Profiler.php
ShortcodeParser.php
TextParser.php
XML.php
subpackage model
Boolean.php
ComponentSet.php
CompositeDBField.php
Currency.php
CurrentPageIdentifier.php
Database.php
DatabaseAdmin.php
DataObject.php
DataObjectDecorator.php
DataObjectInterface.php
DataObjectLog.php
DataObjectSet.php
Date.php
Datetime.php
DB.php
DBField.php
Decimal.php
Double.php
Enum.php
Float.php
ForeignKey.php
Hierarchy.php
HTMLText.php
HTMLVarchar.php
Int.php
Money.php
MultiEnum.php
MySQLDatabase.php
Percentage.php
PrimaryKey.php
SiteTreeDecorator.php
SQLMap.php
SQLQuery.php
StringField.php
Text.php
Time.php
Transliterator.php
Varchar.php
Versioned.php
Year.php
subpackage parsers
SQLFormatter.php
subpackage search
AdvancedSearchForm.php
ContentControllerSearchExtension.php
EndsWithFilter.php
ExactMatchFilter.php
ExactMatchMultiFilter.php
FulltextFilter.php
FulltextSearchable.php
GreaterThanFilter.php
LessThanFilter.php
NegationFilter.php
PartialMatchFilter.php
SearchContext.php
SearchFilter.php
SearchForm.php
StartsWithFilter.php
StartsWithMultiFilter.php
SubstringFilter.php
WithinRangeFilter.php
subpackage security
Authenticator.php
BasicAuth.php
ChangePasswordForm.php
Group.php
GroupCsvBulkLoader.php
LoginAttempt.php
LoginForm.php
Member.php
MemberAuthenticator.php
MemberCsvBulkLoader.php
MemberLoginForm.php
MemberPassword.php
NZGovtPasswordValidator.php
PasswordEncryptor.php
PasswordValidator.php
Permission.php
PermissionCheckboxSetField.php
PermissionProvider.php
PermissionRole.php
PermissionRoleCode.php
RandomGenerator.php
Security.php
SecurityToken.php
subpackage tasks
EncryptAllPasswordsTask.php
i18nTextCollectorTask.php
MigrateSiteTreeLinkingTask.php
MigrateTranslatableTask.php
RemoveOrphanedPagesTask.php
UpgradeSiteTreePermissionSchemaTask.php
subpackage testing
CliTestReporter.php
FunctionalTest.php
InstallerTest.php
JSTestRunner.php
PhpUnitWrapper.php
SapphireTest.php
SapphireTestReporter.php
SapphireTestSuite.php
TestListener.php
TestOnly.php
TestRunner.php
TestSession.php
TestViewer.php
subpackage tools
CodeViewer.php
ModelViewer.php
subpackage validation
ValidationException.php
subpackage view
ArrayData.php
Requirements.php
SSViewer.php
ViewableData.php
subpackage widgets
Widget.php
WidgetArea.php

Class: Extension

Source Location: /sapphire/core/Extension.php

Inheritance:

Summary: Add extension that can be added to an object with Object::add_extension().

Methods

public static get_classname_without_arguments ( $extensionStr ) Helper method to strip eval'ed arguments from a string thats passed to DataObject::$extensions or Object::add_extension().
public constructor __construct ( )
public clearOwner ( )
public getOwner ( ) Returns the owner of this decorator
public setOwner ( $owner, [$ownerBaseClass = null] ) Set the owner of this decorator.

Variables

public $class
protected $owner The DataObject that owns this decorator.
protected $ownerBaseClass The base class that this extension was applied to; $this->owner must be one of these
public static $allowed_actions This is used by extensions designed to be applied to controllers.

Constants

(none)

Child classes:

LeftAndMainDecorator
Plug-ins for additional functionality in your LeftAndMain classes.
ContentControllerSearchExtension
Extension to provide a search interface when applied to ContentController
DataObjectDecorator
Plug-ins for additional functionality in your DataObjects.


Class Details

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

[ Top ]


Class Methods

public static get_classname_without_arguments

static string get_classname_without_arguments( string $extensionStr)

[line 84]

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

  • @return Extension classname, e.g. "Versioned"

Parameters:

  • string $extensionStr - E.g. "Versioned('Stage','Live')"

[ Top ]

public __construct

[ Top ]

public clearOwner

void clearOwner( )

[line 61]

[ Top ]

public getOwner

Object getOwner( )

[line 72]

Returns the owner of this decorator

[ Top ]

public setOwner

void setOwner( Object $owner, [string $ownerBaseClass = null])

[line 53]

Set the owner of this decorator.

Overridden in child classes as:
Translatable::setOwner()

Parameters:

  • Object $owner - The owner object,
  • string $ownerBaseClass - The base class that the extension is applied to; this may be the class of owner, or it may be a parent. For example, if Versioned was applied to SiteTree, and then a Page object was instantiated, $owner would be a Page object, but $ownerBaseClass would be 'SiteTree'.

[ Top ]


Class Variables

public $allowed_actions =  null

[line 19]

This is used by extensions designed to be applied to controllers.

It works the same way as Controller::$allowed_actions.

Type: mixed

[ Top ]

public static $class

[line 39]

Type: mixed

[ Top ]

protected static $owner

[line 25]

The DataObject that owns this decorator.

Type: DataObject

[ Top ]

protected static $ownerBaseClass

[line 31]

The base class that this extension was applied to; $this->owner must be one of these

Type: DataObject

[ Top ]

Comments

Comment policy: Please use comments for tips and corrections about the described functionality. Comments are moderated, we reserve the right to remove comments that are inappropriate or are no longer relevant.
Use the Silverstripe Forum to ask questions.

blog comments powered by Disqus

Documentation generated on Thu, 17 May 2012 03:58:21 +1200 by phpDocumentor 1.4.3