返回最适合 Joomla 核心事件名称的事件类
« 更多 »
用于重塑参数,保持与旧版插件事件的向后兼容性的 Trait。
旧的插件事件处理程序期望位置参数,而不是命名参数,因为它们是简单的 PHP 方法,例如 public onExample($foo, $bar, $baz)。但是,具体的 Event 类使用命名参数,这些参数可以以任何顺序传递。以下两个示例是等效的:$event1 = new ConcreteEventClass('onExample', ['foo' => 1, 'bar' => 2, 'baz' => 3]; $event2 = new ConcreteEventClass('onExample', ['bar' => 2, 'baz' => 3, 'foo' => 1,]; 但是,这意味着事件对象的内部 $arguments 属性在每种情况下都以**不同**的顺序保存命名参数。当事件处理程序知道 ConcreteEventClass 时,它可以检索命名参数,一切都会很好。但是,当您通过 CMSPlugin::registerLegacyListener 注册旧版插件侦听器时,您会遇到一个大问题!旧版侦听器按位置传递参数,按照它们添加到 Event 对象中的顺序。在前面的示例中,$event1 会按预期工作,因为 foo、bar 和 baz 参数的顺序与旧版侦听器期望的相同。另一方面,$event2 会彻底失败,因为调用顺序将是 $bar、$baz、$foo,这**不是**旧版侦听器期望的。解决此问题的唯一方法是在具体事件的构造函数中“重塑参数”,以便保证参数的顺序与旧版侦听器期望的相同。此外,由于 Joomla 将所有参数(除了“result”参数)盲目地传递给旧版侦听器,因此我们必须确保 a. 设置所有必要的参数,以及 b. 任何其他命名参数**不存在**。否则,我们的旧版侦听器将接收错误数量的位置参数并中断。此 trait 中的 reshapeArguments() 方法实现了所有这些功能,此方法必须在具体事件类的构造函数中调用。此 trait 被标记为已弃用,并将在 6.0 中删除,因为在 Joomla 6 中,我们只会使用具有命名参数的具体事件类,删除旧版侦听器及其位置参数的麻烦。
« 更多 »
此类实现系统范围内使用的基本 Event 对象以提供正交性。模型、控制器等核心对象会动态创建此类事件,并通过应用程序的调度程序(俗称“Joomla!插件系统”)分派它们。这样,合适的插件(通常是“系统”插件)就可以修改任何内部类的行为,提供系统范围的服务,例如标签、内容版本控制、评论,甚至低级服务,例如创建/修改/锁定行为的实现、记录点击次数等。
您可以使用以下代码创建新的事件:$event = AbstractEvent::create('onModelBeforeSomething', $myModel, $arguments); 您可以使用 $event['subject'] 从事件侦听器访问主题对象。由您的侦听器确定是否应针对主题应用其功能。此 AbstractEvent 类实现了一个可变事件,该事件允许在运行时更改其参数。这通常是不建议的。最好使用 AbstractImmutableEvent 并在所有交互中限制主题类。
« 更多 »
此类实现系统范围内使用的不可变基本 Event 对象以提供正交性。
« 更多 »
表示扩展的 `onBeforeExtensionBoot` 事件的事件类
« 更多 »
表示扩展的 `onBeforeExtensionBoot` 事件的事件类
« 更多 »
表示应用程序的 `onError` 事件的事件类
« 更多 »
此类提供了 AbstractEvent 类的具体实现。
« 更多 »
内容事件类。
示例:new AfterDisplayEvent('onEventName', ['context' => 'com_example.example', 'subject' => $contentObject, 'params' => $params, 'page' => $pageNum]);
« 更多 »
内容事件类。
示例:new AfterTitleEvent('onEventName', ['context' => 'com_example.example', 'subject' => $contentObject, 'params' => $params, 'page' => $pageNum]);
« 更多 »
内容事件类。
示例:new BeforeDisplayEvent('onEventName', ['context' => 'com_example.example', 'subject' => $contentObject, 'params' => $params, 'page' => $pageNum]);
« 更多 »
内容事件类。
示例:new ContentPrepareEvent('onEventName', ['context' => 'com_example.example', 'subject' => $contentObject, 'params' => $params, 'page' => $pageNum]);
« 更多 »
模型事件类。
示例:new AfterCategoryChangeStateEvent('onEventName', ['context' => $extension, 'subject' => $primaryKeys, 'value' => $newState]);
« 更多 »
模型事件类。
示例:new AfterChangeStateEvent('onEventName', ['context' => 'com_example.example', 'subject' => $primaryKeys, 'value' => $newState]);
« 更多 »
模型事件类。
示例:new AfterDeleteEvent('onEventName', ['context' => 'com_example.example', 'subject' => $itemObjectToDelete]);
« 更多 »
模型事件类。
示例:new AfterSaveEvent('onEventName', ['context' => 'com_example.example', 'subject' => $itemObjectToSave, 'isNew' => $isNew]);
« 更多 »
查找器事件类。
示例:new BeforeIndexEvent('onEventName', []);
« 更多 »
模型事件类。
示例:new BeforeSaveEvent('onEventName', ['context' => 'com_example.example', 'subject' => $itemObjectToSave, 'isNew' => $isNew);
« 更多 »
查找器事件类。
示例:new BuildIndexEvent('onEventName', []);
« 更多 »
查找器事件类。
示例:new GarbageCollectionEvent('onEventName', []);
« 更多 »
查找器事件类。
示例:new PrepareContentEvent('onEventName', ['subject' => $item]);
« 更多 »
查找器事件类。
示例:new ResultEvent('onEventName', ['subject' => $item, 'query' => $query]);
« 更多 »
查找器事件类。
示例:new StartIndexEvent('onEventName', []);
« 更多 »
模型事件类。
示例:new AfterCategoryChangeStateEvent('onEventName', ['context' => $extension, 'subject' => $primaryKeys, 'value' => $newState]);
« 更多 »
模型事件类。
示例:new AfterChangeStateEvent('onEventName', ['context' => 'com_example.example', 'subject' => $primaryKeys, 'value' => $newState]);
« 更多 »
模型事件类。
示例:new AfterDeleteEvent('onEventName', ['context' => 'com_example.example', 'subject' => $itemObjectToDelete]);
« 更多 »
模型事件类。
示例:new AfterSaveEvent('onEventName', ['context' => 'com_example.example', 'subject' => $itemObjectToSave, 'isNew' => $isNew, 'data' => $submittedData]);
« 更多 »
模型事件类。
示例:new BeforeChangeStateEvent('onEventName', ['context' => 'com_example.example', 'subject' => $primaryKeys, 'value' => $newState]);
« 更多 »
模型事件类。
示例:new BeforeDeleteEvent('onEventName', ['context' => 'com_example.example', 'subject' => $itemObjectToDelete]);
« 更多 »
模型事件类。
示例:new BeforeSaveEvent('onEventName', ['context' => 'com_example.example', 'subject' => $itemObjectToSave, 'isNew' => $isNew, 'data' => $submittedData]);
« 更多 »
模型表单事件类。
示例:new BeforeValidateDataEvent('onEventName', ['subject' => $form, 'data' => $data]);
« 更多 »
模型表单事件类。
示例:new NormaliseRequestDataEvent('onEventName', ['context' => 'com_example.example', 'data' => $data, 'subject' => $form]);
« 更多 »
模型事件类。
示例:new PrepareDataEvent('onEventName', ['context' => 'com_example.example', 'subject' => $data]);
« 更多 »
模块事件类。
示例:new AfterCleanModuleListEvent('onEventName', ['subject' => $modules]);
« 更多 »
模块事件类。
示例:new AfterModuleListEvent('onEventName', ['subject' => $modules]);
« 更多 »
模块事件类。
示例:new AfterRenderModuleEvent('onEventName', ['subject' => $module, 'attributes' => $attrs]);
« 更多 »
模块事件类。
示例:new AfterRenderModulesEvent('onEventName', ['subject' => $content, 'attributes' => $attrs]);
« 更多 »
模块事件类。
示例:new BeforeRenderModuleEvent('onEventName', ['subject' => $module, 'attributes' => $attrs]);
« 更多 »
模块事件类。
示例:new AfterModuleListEvent('onEventName', ['subject' => $modules]);
« 更多 »
onUserMultifactorBeforeDisplayMethods 事件的具体事件类
« 更多 »
onUserMultifactorCallback 事件的具体事件类
« 更多 »
onUserMultifactorCaptive 事件的具体事件类
« 更多 »
onUserMultifactorGetMethod 事件的具体事件类
« 更多 »
onUserMultifactorGetSetup 事件的具体事件类
« 更多 »
用于通知用户操作日志插件双因素认证操作的自定义事件的具体事件类。
« 更多 »
onUserMultifactorSaveSetup 事件的具体事件类
« 更多 »
onUserMultifactorValidate 事件的具体事件类
« 更多 »
SchemaBeforeCompileHeadEvent 事件类 示例:new BeforeCompileHeadEvent('onSchemaBeforeCompileHead', ['subject' => $schema, 'context' => 'com_example.example']);
« 更多 »
SchemaPrepareDataEvent 事件类 示例:new PrepareDataEvent('onSchemaPrepareData', ['subject' => $data, 'context' => 'com_example.example']);
« 更多 »
SchemaPrepareSaveEvent 事件类 示例:new PrepareFormEvent('onSchemaPrepareForm', ['subject' => $subject, 'context' => $context, 'item' => $table, 'isNew' => $isNew, 'schema' => $schema]);
« 更多 »
隐私事件类。
示例:new CanRemoveDataEvent('onEventName', ['subject' => $requestTable, 'user' => $user]);
« 更多 »
隐私事件类。
示例:new CheckPrivacyPolicyPublishedEvent('onEventName', ['subject' => $policyInfo]);
« 更多 »
隐私事件类。
示例:new CollectCapabilitiesEvent('onEventName');
« 更多 »
隐私事件类。
示例:new ExportRequestEvent('onEventName', ['subject' => $requestTable, 'user' => $user]);
« 更多 »
隐私事件类。
示例:new RemoveDataEvent('onEventName', ['subject' => $requestTable, 'user' => $user]);
« 更多 »
此 Trait 部分实现了可变和不可变事件的 ResultAwareInterface。
您还必须实现 typeCheckResult 方法或在事件处理程序中使用 ResultType*Aware Trait 之一。
« 更多 »
此 Trait 部分实现了用于类型检查的 ResultAwareInterface。
使用此 Trait(以及 ResultAware Trait)的事件将期望事件处理程序设置数组类型的结果。
« 更多 »
此 Trait 部分实现了用于类型检查的 ResultAwareInterface。
使用此 Trait(以及 ResultAware Trait)的事件将期望事件处理程序设置布尔类型的结果。
« 更多 »
此 Trait 部分实现了用于类型检查的 ResultAwareInterface。
使用此 Trait(以及 ResultAware Trait)的事件将期望事件处理程序设置浮点类型的结果。
« 更多 »
此 Trait 部分实现了用于类型检查的 ResultAwareInterface。
使用此 Trait(以及 ResultAware Trait)的事件将期望事件处理程序设置整数类型的结果。
« 更多 »
此 Trait 部分实现了用于类型检查的 ResultAwareInterface。
使用此 Trait(以及 ResultAware Trait)的事件将期望事件处理程序设置任何类型的结果。这是一种权宜之计!如果您期望可为空或联合类型,最好自己实现 typeCheckResult 方法以检查您期望的确切类型。
« 更多 »
此 Trait 部分实现了用于类型检查的 ResultAwareInterface。
使用此 Trait(以及 ResultAware Trait)的事件将期望事件处理程序设置数值类型的结果。
« 更多 »
此 Trait 部分实现了用于类型检查的 ResultAwareInterface。
使用此 Trait(以及 ResultAware Trait)的事件将期望事件处理程序设置对象类型的结果。如果您未设置可接受的结果类的列表,则任何 PHP 对象都将满足此类型检查。
« 更多 »
此 Trait 部分实现了用于类型检查的 ResultAwareInterface。
使用此 Trait(以及 ResultAware Trait)的事件将期望事件处理程序设置字符串类型的结果。
« 更多 »
\Joomla\CMS\Table\Table onAfterBind 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onAfterCheckin 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onAfterCheckout 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onAfterDelete 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onAfterHit 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onAfterLoad 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onAfterMove 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onAfterPublish 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onAfterReorder 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onAfterReset 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onAfterStore 事件的事件类
« 更多 »
Table onBeforeBind 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onBeforeCheckin 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onBeforeCheckout 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onBeforeDelete 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onBeforeHit 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onBeforeLoad 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onBeforeMove 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onBeforePublish 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onBeforeReorder 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onBeforeReset 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onBeforeStore 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onCheck 事件的事件类
« 更多 »
\Joomla\CMS\Table\Table onObjectCreate 事件的事件类
« 更多 »
用户删除事件类。
示例:new AfterDeleteEvent('onEventName', ['subject' => $userArray, 'deletingResult' => $result, 'errorMessage' => $errorStr]);
« 更多 »
用户事件类。
示例:new AfterLoginEvent('onEventName', ['subject' => $authenticationResponseArray, 'options' => $options]);
« 更多 »
用户事件类。
示例:new AfterLogoutEvent('onEventName', ['subject' => $parameters, 'options' => $options]);
« 更多 »
用户事件类。
示例:new AfterRemindEvent('onEventName', ['subject' => $user]);
« 更多 »
用户保存事件类。
示例:new AfterSaveEvent('onEventName', ['subject' => $userArray, 'isNew' => $isNew, 'savingResult' => $result, 'errorMessage' => $errorStr]);
« 更多 »
用户事件类。
示例:new AuthenticationEvent('onEventName', ['credentials' => $credentials, 'options' => $options, 'subject' => $authenticationResponse]);
« 更多 »
用户事件类。
示例:new AuthorisationEvent('onEventName', ['subject' => $authenticationResponse, 'options' => $options]);
« 更多 »
用户事件类。
示例:new AuthorisationFailureEvent('onEventName', ['subject' => $authenticationResponseArray, 'options' => $options]);
« 更多 »
用户删除事件类。
示例:new BeforeDeleteEvent('onEventName', ['subject' => $userArray]);
« 更多 »
用户保存事件类。
示例:new BeforeSaveEvent('onEventName', ['subject' => $oldUserArray, 'isNew' => $isNew, 'data' => $data]);
« 更多 »
用户事件类。
示例:new LoginEvent('onEventName', ['subject' => $authenticationResponseArray, 'options' => $options]);
« 更多 »
用户事件类。
示例:new LoginFailureEvent('onEventName', ['subject' => $authenticationResponseArray, 'options' => $options]);
« 更多 »
用户事件类。
示例:new LogoutEvent('onEventName', ['subject' => $parameters, 'options' => $options]);
« 更多 »
用户事件类。
示例:new LogoutFailureEvent('onEventName', ['subject' => $parameters, 'options' => $options]);
« 更多 »
模型事件类。
示例:new UserGroupAfterDeleteEvent('onEventName', ['context' => 'com_example.example', 'subject' => $itemObjectToDelete]);
« 更多 »
模型事件类。
示例:new UserGroupBeforeDeleteEvent('onEventName', ['context' => 'com_example.example', 'subject' => $itemObjectToDelete]);
« 更多 »