Help center

Path

7x / help / standards / design pattern catalogue / interface (contract)


Caution: This documentation is for Exponential, from version 3.x to 6.x.
For 5.x documentation covering Platform see Exponential Platform Documentation, for difference between legacy and Platform see 5.x Architecture overview.

Help Start
Reading in:
  • German: 9,059 of 9,059 pages
About the help in other languages
All help pages

Interface (contract)

A contract that implementations follow; code depends on the interface, not on a class. 96 instances in Exponential.

Download as PDF

Address: https://doc.exponential.earth/exphelp/viewer/standards/patterns/interface.md

On this page

Interface (contract)

Note

This page is generated from the source code by php bin/php/exppatterncatalogue.php --write. Do not edit it by hand: change the code or the generator, then run the command again. How the patterns are recognized: the pattern catalogue.

A contract that implementations follow; code depends on the interface, not on a class.

GroupStructure
Instances96
Recognized byEvery interface.
Extension pointImplement the interface and register the class where the interface is used.

Classes by area

extension/cjw_newsletter (2)

All patterns of extension/cjw_newsletter

ClassKindFileDescriptionExtension point
CjwNewsletterScheduleConditionInterfaceinterfaceextension/cjw_newsletter/classes/editorial/cjwnewsletterscheduleconditioninterface.php:19A condition a recurring send asks before each run (cjwnl_schedule.condition_handler).–
CjwNewsletterSmsTransportinterfaceextension/cjw_newsletter/classes/sms/cjwnewslettersmstransport.php:25A way to send SMS and to read the SMS a provider hands back (the provider-neutral part of the SMS channel).–

extension/expai (4)

All patterns of extension/expai

ClassKindFileDescriptionExtension point
expAiFieldActioninterfaceextension/expai/classes/fieldactions/expaifieldaction.php:16An action next to a field of the content edit form (write, rewrite, shorten, translate, suggest, ...).extension/expai/settings/rad.ini [Registry_expai_field_actions] Entries[Handler]; extension/expai/settings/rad.ini [Registry_expai_presets] Entries[Handler]
expAiProviderinterfaceextension/expai/classes/expaiprovider.php:16A model backend of expai.extension/expai/settings/rad.ini [Registry_expai_provider_types] Implements
expAiRequestApplierinterfaceextension/expai/classes/queue/expairequestapplier.php:18Applies the answer of a queued request (expai.request), e.g.extension/expai/settings/rad.ini [Registry_expai_appliers] Entries[Appliers]
expAiSegmenterinterfaceextension/expai/classes/diff/expaisegmenter.php:28Cuts the value of one datatype into blocks and sentences, and puts values together again (doc/diff.md).extension/expai/settings/rad.ini [Registry_expai_segmenters] Entries[FallbackSegmenter]; extension/expai/settings/rad.ini [Registry_expai_segmenters] Entries[Segmenters]

extension/explayouts (2)

All patterns of extension/explayouts

ClassKindFileDescriptionExtension point
expLayoutsBlockHandlerInterfaceinterfaceextension/explayouts/classes/explayoutsblockhandlerinterface.php:2––
expLayoutsQueryHandlerInterfaceinterfaceextension/explayouts/classes/explayoutsqueryhandlerinterface.php:2––

extension/expquery_translator (2)

All patterns of extension/expquery_translator

ClassKindFileDescriptionExtension point
QueryTranslator\Parsinginterfaceextension/expquery_translator/lib/Parsing.php:10Interface for parsing a sequence of tokens into a syntax tree.–
QueryTranslator\Tokenizinginterfaceextension/expquery_translator/lib/Tokenizing.php:8Interface for tokenizing a string into a sequence of tokens.–

extension/expqueue (1)

All patterns of extension/expqueue

ClassKindFileDescriptionExtension point
expQueueHandlerinterfaceextension/expqueue/classes/expqueuehandler.php:27A job handler: the code that runs the jobs of one type.extension/expqueue/settings/rad.ini [Registry_expqueue_job_types] Entries[Handler]

extension/exp_oe_tiptap (1)

All patterns of extension/exp_oe_tiptap

ClassKindFileDescriptionExtension point
expOETiptapAIProviderinterfaceextension/exp_oe_tiptap/classes/ai/expoetiptapaiprovider.php:16A text generation backend of the AI hooks.–

extension/ezfind (2)

All patterns of extension/ezfind

ClassKindFileDescriptionExtension point
ezfIndexPlugininterfaceextension/ezfind/classes/indexplugins/ezfindexplugin.php:18Description of ezfIndexPlugin.–
eZFindExtendedAttributeFilterInterfaceinterfaceextension/ezfind/classes/ezfindextendedattributefilterinterface.php:10Extended attribute filter interface–

extension/ezflow (2)

All patterns of extension/ezflow

ClassKindFileDescriptionExtension point
eZFlowFetchInterfaceinterfaceextension/ezflow/classes/ezflowfetchinterface.php:28––
eZHTTPCacheManagerInterfaceinterfaceextension/ezflow/classes/ezhttpcachemanagerinterface.php:32Interface declaration–

extension/ezie (1)

All patterns of extension/ezie

ClassKindFileDescriptionExtension point
eZIEEzcConversionsinterfaceextension/ezie/classes/interfaces/conversions.php:11––

extension/ezjscore (1)

All patterns of extension/ezjscore

ClassKindFileDescriptionExtension point
ezpAjaxUploaderHandlerInterfaceinterfaceextension/ezjscore/classes/ajaxuploader/ezpajaxuploaderhandlerinterface.php:19Interface of the AJAX uploader handler–

extension/ezmultiupload (1)

All patterns of extension/ezmultiupload

ClassKindFileDescriptionExtension point
eZMultiuploadHandlerInterfaceinterfaceextension/ezmultiupload/classes/ezmultiuploadhandlerinterface.php:12––

extension/ezoe (1)

All patterns of extension/ezoe

ClassKindFileDescriptionExtension point
expOEEditorEngineinterfaceextension/ezoe/classes/expoeeditorengine.php:21An editor engine of the online editor: the thing that turns an ezxmltext attribute into an editor in the browser.extension/ezoe/settings/rad.ini [Registry_ezoeengines] Entries[Engines]

extension/ezurlmultisite (1)

All patterns of extension/ezurlmultisite

ClassKindFileDescriptionExtension point
eZURLMultisiteDataTypeHandlerinterfaceextension/ezurlmultisite/classes/ezurlmultisitedatatypehandler.php:3––

extension/sqliimport (14)

All patterns of extension/sqliimport

ClassKindFileDescriptionExtension point
expImportAiTransportinterfaceextension/sqliimport/classes/exp/ai/expimportaitransport.php:16The way the AI assist of 7x SQLI Import (expImportAi) reaches a model.–
expImportBoltTransportinterfaceextension/sqliimport/classes/exp/nosql/expimportbolttransport.php:13The byte stream the Bolt client (expImportBoltClient) talks over: a socket (expImportBoltSocket) or a test double.–
expImportCassandraTransportinterfaceextension/sqliimport/classes/exp/nosql/expimportcassandratransport.php:21The connection the Cassandra/ScyllaDB source reads through: the PHP extension cassandra of DataStax (expImportCassandraExtension) where it is install…–
expImportHandlerInterfaceinterfaceextension/sqliimport/classes/exp/engine/expimporthandlerinterface.php:21A handler of the 2.x engine: it turns records into content.–
expImportImapTransportinterfaceextension/sqliimport/classes/exp/mail/expimportimaptransport.php:15The connection to an IMAP mailbox the IMAP source reads: the PHP extension imap where it is installed (expImportImapExtension), else a small client o…–
expImportLdapTransportinterfaceextension/sqliimport/classes/exp/ldap/expimportldaptransport.php:15What the LDAP source needs of a directory server: connect, StartTLS, bind and search, nothing that writes.–
expImportMongoDbTransportinterfaceextension/sqliimport/classes/exp/nosql/expimportmongodbtransport.php:15The connection the MongoDB source reads through: the PHP extension mongodb (expImportMongoDbExtension), or a test double.–
expImportRecordProviderInterfaceinterfaceextension/sqliimport/classes/exp/engine/expimporthandlerinterface.php:52A handler that reads its records itself (a 1.x handler through the adapter): the engine takes the records from it instead of from a source.–
expImportRedisTransportinterfaceextension/sqliimport/classes/exp/nosql/expimportredistransport.php:15The connection the Redis source reads through: the PHP extension redis (expImportRedisExtension), else a small RESP client of its own over a socket (…–
expImportSourceInterfaceinterfaceextension/sqliimport/classes/exp/expimportsourceinterface.php:19A source type: it reads records from a file (or, for later source types, an endpoint).–
expImportTransformInterfaceinterfaceextension/sqliimport/classes/exp/expimporttransforminterface.php:18A named transform of a mapping line: it turns a source value into the value a class attribute takes (the fromString() form of its datatype).–
expImportTriggerCallStoreinterfaceextension/sqliimport/classes/exp/expimporttriggerauth.php:14Where the trigger keeps its recent calls: the signatures already used (replay protection) and the calls counted by the rate limit.–
ISQLIDiffHandlerinterfaceextension/sqliimport/classes/content/diffhandlers/isqlidiffhandler.php:27Interface for diff handlers.–
ISQLIImportHandlerinterfaceextension/sqliimport/classes/sourcehandlers/isqliimporthandler.php:11Interface for import handlers Must be implemented by all import handlers–

extension/xrowmetadata (3)

All patterns of extension/xrowmetadata

ClassKindFileDescriptionExtension point
xrowSitemapImageConverterInterfaceinterfaceextension/xrowmetadata/classes/interfaces/xrowsitemapimageconverterinterface.php:3––
xrowSitemapNewsConverterInterfaceinterfaceextension/xrowmetadata/classes/interfaces/xrowsitemapnewsconverterinterface.php:3––
xrowSitemapVideoConverterInterfaceinterfaceextension/xrowmetadata/classes/interfaces/xrowsitemapvideoconverterinterface.php:3––

kernel/classes (1)

All patterns of kernel/classes

ClassKindFileDescriptionExtension point
expNamePatternResolverInterfaceinterfacekernel/classes/expnamepatternresolverinterface.php:27A PHP class that makes the name of a content object, or the name its URL alias is made from, instead of the attribute tokens of the class's name patt…–

kernel/classes/audit (5)

All patterns of kernel/classes/audit

ClassKindFileDescriptionExtension point
expAuditAlertRuleinterfacekernel/classes/audit/expauditalertrule.php:14An alert rule class, registered in audit.ini: [AuditAlertSettings] RuleClasses[]= Counted by the RAD survey (registry "auditalertrules").–
expAuditFormatHandlerinterfacekernel/classes/audit/expauditformathandler.php:14An archive format (gzip, bzip2, xz, zstd, zip), registered in audit.ini: [AuditArchiveSettings] FormatHandlers[]= Counted by the RAD survey (registry…–
expAuditSinkinterfacekernel/classes/audit/expauditsink.php:15A copy of the audit records outside the file (syslog, webhook, mail), registered in audit.ini: [AuditSinkSettings] SinkClasses[]= Counted by the RAD…–
expAuditSourceinterfacekernel/classes/audit/console/expauditsource.php:23An optional source of the audit console: an extension that writes its own events (usually into a channel of its own) and tells the console's views ho…settings/rad.ini [Registry_auditsources] Entries[Sources]
expAuditTaxonomyBranchinterfacekernel/classes/audit/expaudittaxonomybranch.php:15An extension's branch of the audit taxonomy, registered in audit.ini: [AuditEventSettings] Branches[myext]=myExtAuditBranch Counted by the RAD survey…–

kernel/classes/contentcheck (1)

All patterns of kernel/classes/contentcheck

ClassKindFileDescriptionExtension point
expContentCheckFileHandlerinterfacekernel/classes/contentcheck/expcontentcheckfilehandler.php:15Says which storage files a file-backed field stands for (doc/eng-us/features/6.0/content-checks.md, "Missing files").–

kernel/classes/contentjob (1)

All patterns of kernel/classes/contentjob

ClassKindFileDescriptionExtension point
expContentJobTypeinterfacekernel/classes/contentjob/expcontentjobtype.php:22A kind of content job, registered in content.ini [ContentJobSettings] JobTypes[]=.–

kernel/classes/datatable (1)

All patterns of kernel/classes/datatable

ClassKindFileDescriptionExtension point
expDataTableFieldSourceinterfacekernel/classes/datatable/expdatatablefieldsource.php:33Something that can hand the fields of a new data table to the module table wizard (doc/eng-us/features/6.0/ data-tables.md, "The module table wizard"…–

kernel/classes/debugbar (1)

All patterns of kernel/classes/debugbar

ClassKindFileDescriptionExtension point
expDebugBarPanelInterfaceinterfacekernel/classes/debugbar/expdebugbarpanelinterface.php:26A panel of the Exp Debug bar from an extension: its own tab after Memory, optionally a chip in the summary and data in the page's JSON.–

kernel/classes/help (2)

All patterns of kernel/classes/help

ClassKindFileDescriptionExtension point
expHelpContextPageInterfaceinterfacekernel/classes/help/exphelpcontextpageinterface.php:16A context help provider (expHelpContextProviderInterface) that also serves pages which are not files below doc/: help topics maintained as content, w…–
expHelpContextProviderInterfaceinterfacekernel/classes/help/exphelpcontextproviderinterface.php:15A class that answers "help for this page" in code, for what one Map[] entry per view cannot say (a view whose help depends on its parameters, an exte…–

kernel/classes/ini (2)

All patterns of kernel/classes/ini

ClassKindFileDescriptionExtension point
expIniActioninterfacekernel/classes/ini/actions/expiniaction.php:15One action of the exp:ini command (get, set, add, rem, ...).–
expIniScopeProviderinterfacekernel/classes/ini/expiniscopeprovider.php:20A source of INI scopes (places an INI file can be written).–

kernel/classes/logviewer (1)

All patterns of kernel/classes/logviewer

ClassKindFileDescriptionExtension point
expLogManagerInterfaceinterfacekernel/classes/logviewer/explogmanagerinterface.php:19Log management (doc/eng-us/features/6.0/log-rotation.md, "For developers"): what the command line, the cronjob part "logs" and the log viewer's actio…–

kernel/classes/mailpreferences (1)

All patterns of kernel/classes/mailpreferences

ClassKindFileDescriptionExtension point
expMailCategoryHandlerinterfacekernel/classes/mailpreferences/expmailcategoryhandler.php:26The optional PHP class of a category ([Category_] HandlerClass): it reads data that existed before the preference system (subtree notifications, dige…–

kernel/classes/reauth (1)

All patterns of kernel/classes/reauth

ClassKindFileDescriptionExtension point
expReauthCodeHandlerinterfacekernel/classes/reauth/expreauthcodehandler.php:14A class that checks the code of a two-step sign-in method for "Verify it's you" (expReauth).–

kernel/classes/requestclassifier (2)

All patterns of kernel/classes/requestclassifier

ClassKindFileDescriptionExtension point
expRequestRuleSetInterfaceinterfacekernel/classes/requestclassifier/exprequestrulesetinterface.php:24A rule set of the request classifier (settings/requestclassifier.ini, RuleSets[] and [RuleSet-] Class=).–
expRequestVerdictListenerInterfaceinterfacekernel/classes/requestclassifier/exprequestverdictlistenerinterface.php:18Told about every verdict of the request classifier after its security.log line is written (settings/requestclassifier.ini [ClassifierSettings] Listen…–

kernel/classes/syscard (1)

All patterns of kernel/classes/syscard

ClassKindFileDescriptionExtension point
expSysCardProviderinterfacekernel/classes/syscard/expsyscardprovider.php:19A provider of the system card: one class per group of facts (the machine, PHP, the engine, the database ...).–

kernel/classes/transfer (1)

All patterns of kernel/classes/transfer

ClassKindFileDescriptionExtension point
expKernelTransferTaskinterfacekernel/classes/transfer/expkerneltransfertask.php:38The work of one background run of an import or export tool, whatever engine runs it (expKernelTransferRunner: expqueue, the kernel's content jobs, th…–

kernel/classes/uiswitch (1)

All patterns of kernel/classes/uiswitch

ClassKindFileDescriptionExtension point
expUISwitchProviderInterfaceinterfacekernel/classes/uiswitch/expuiswitchproviderinterface.php:19One switchable preference of the administration interface (the "UI chrome"): the display language, the design, or what an extension adds.–

kernel/classes/user (1)

All patterns of kernel/classes/user

ClassKindFileDescriptionExtension point
expSignInSecondFactorHandlerinterfacekernel/classes/user/expsigninsecondfactorhandler.php:18What a two-step sign-in extension tells the kernel about sign-ins outside the web login form (REST with a password, WebDAV, SOAP, the expservices log…–

kernel/private (24)

All patterns of kernel/private

ClassKindFileDescriptionExtension point
eZClusterFileHandlerInterfaceinterfacekernel/private/interfaces/ezclusterfilehandlerinterface.php:15Cluster file handlers interface–
ezpAsynchronousPublisherOutputinterfacekernel/private/interfaces/asynchronouspublisheroutput.php:16This interface is used as the basis for the ezpasynchronouspublisher.php daemon–
ezpAsynchronousPublishingFilterInterfaceinterfacekernel/private/interfaces/asynchronouspublishingfilter.php:17Base interface for eZ Asynchronous Publishing filter classes–
ezpAttributeOperatorFormatterInterfaceinterfacekernel/private/eztemplate/ezpattributeoperatorformatterinterface.php:12––
ezpAutoloadOutputinterfacekernel/private/interfaces/ezpautoloadoutput.php:17Interface for classes providing output for autoload generation.–
ezpContentCriteriaInterfaceinterfacekernel/private/api/interfaces/content_criteria.php:16This interface is the base one when it comes to implementing content query criteria–
ezpContentLimitationHandlerinterfacekernel/private/interfaces/ezpcontentlimitationhandler.php:29Evaluates a policy limitation of the content module that the kernel does not know itself.–
ezpContentLimitationSolrHandlerinterface extends ezpContentLimitationHandlerkernel/private/interfaces/ezpcontentlimitationsolrhandler.php:23A content limitation handler that can also restrict a search in a search engine that filters by the policies of the user itself, such as eZ Find with…–
ezpContentPublishingQueueReaderInterfaceinterfacekernel/private/interfaces/ezpcontentpublishingqueuereader.php:18This interface describes an asynchronous publishing queue reader Queue readers are meant to provide the asynchronous publishing system with the next…–
ezpDatabaseBasedClusterFileHandlerinterfacekernel/private/interfaces/ezpdatabasebasedclusterfilehandler.php:20This interface describes a database based cluster file handler–
ezpKernelHandlerinterfacekernel/private/interfaces/ezpkernelhandler.php:14Interface for kernel handlers–
ezpLanguageSwitcherCapableinterfacekernel/private/interfaces/ezplanguageswitchercapable.php:17Interface for classes providing language switcher functionality.–
ezpMobileDeviceDetectFilterInterfaceinterfacekernel/private/classes/ezpmobiledevicedetectfilterinterface.php:12––
ezpMultivariateTestHandlerInterfaceinterfacekernel/private/classes/ezpmultivariatetesthandlerinterface.php:12––
ezpRestAuthenticationStyleInterfaceinterfacekernel/private/rest/classes/auth/auth_style.php:12––
ezpRestPreRoutingFilterInterfaceinterfacekernel/private/rest/classes/interfaces/prerouting_filter.php:12––
ezpRestProviderInterfaceinterfacekernel/private/rest/classes/interfaces/rest_provider.php:12––
ezpRestRequestFilterInterfaceinterfacekernel/private/rest/classes/interfaces/request_filter.php:12––
ezpRestResponseFilterInterfaceinterfacekernel/private/rest/classes/interfaces/response_filter.php:12––
ezpRestResultFilterInterfaceinterfacekernel/private/rest/classes/interfaces/result_filter.php:12––
ezpRestViewControllerInterfaceinterfacekernel/private/rest/classes/interfaces/view_controller.php:12––
ezpSearchEngineinterfacekernel/private/interfaces/ezpsearchengine.php:18This interface is used as the basis for the different search engine implementation–
ezpStaticCacheinterfacekernel/private/interfaces/ezpstaticcache.php:16This interface is used as the basis for the different StaticCache engine implementation–
ezpWebBasedKernelHandlerinterface extends ezpKernelHandlerkernel/private/interfaces/ezpwebbasedkernelhandler.php:14Interface for web-based kernel handlers–

kernel/private/classes/clusterfilehandlers (5)

All patterns of kernel/private/classes/clusterfilehandlers

ClassKindFileDescriptionExtension point
eZClusterEventListenerinterfacekernel/private/classes/clusterfilehandlers/interfaces/ezclustereventlistener.php:14Interface to be implemented by any cluster event listener–
eZClusterEventLoggerinterfacekernel/private/classes/clusterfilehandlers/interfaces/ezclustereventlogger.php:20Interface for eZClusterEvent loggers.–
eZClusterEventNotifierinterfacekernel/private/classes/clusterfilehandlers/interfaces/ezclustereventnotifier.php:15Interface that must be implemented by cluster backends supporting events notification.–
eZDFSFileHandlerDFSBackendFactoryInterfaceinterfacekernel/private/classes/clusterfilehandlers/dfsbackends/ezdfsfilehandlerdfsbackendfactoryinterface.php:14Makes a DFSBackend handler instantiable using the build static method.–
eZDFSFileHandlerDFSBackendInterfaceinterfacekernel/private/classes/clusterfilehandlers/dfsbackends/ezdfsfilehandlerdfsbackendinterface.php:17Interface for a DFS FS handler, that offers CRUD support for binary files.–

kernel/private/classes/requestrules (5)

All patterns of kernel/private/classes/requestrules

ClassKindFileDescriptionExtension point
ezpRequestFactProviderinterfacekernel/private/classes/requestrules/ezprequestruleinterfaces.php:90Adds facts to every request's context before the rules run.–
ezpRequestRuleActioninterfacekernel/private/classes/requestrules/ezprequestruleinterfaces.php:57An action: what happens when every condition of a rule matches.–
ezpRequestRuleConditioninterfacekernel/private/classes/requestrules/ezprequestruleinterfaces.php:23A condition: one test on the facts of a request.–
ezpRequestRuleProviderinterfacekernel/private/classes/requestrules/ezprequestruleinterfaces.php:76Adds rules from PHP: an extension whose rules are computed (from a database table, from another INI file) rather than written in requestrules.ini.–
ezpRequestRuleStableConditioninterfacekernel/private/classes/requestrules/ezprequestruleinterfaces.php:46Marks a condition whose answer is the same for every request that the page caches would answer with one stored page: it reads only what their keys ho…–

lib/ezi18n (1)

All patterns of lib/ezi18n

ClassKindFileDescriptionExtension point
expI18nFallbackRuleInterfaceinterfacelib/ezi18n/classes/expi18nfallbackruleinterface.php:27A translation fallback rule: says which translation a locale falls back to when a translation root (the kernel's share/translations, or an extension'…–

Something wrong on this page? Report an error

Documentation license

This documentation is free documentation, licensed under the GNU Free Documentation License 1.3 or later.

Exponential Copyright © 1998-2026 Exponential Foundation and 7x