ResultAware
此 Trait 部分实现了 ResultAwareInterface,用于可变和不可变事件。
您还必须实现 typeCheckResult 方法或在您的事件处理程序中使用其中一个 ResultType*Aware Trait。
自版本 |
4.2.0 |
---|---|
包 |
Joomla CMS |
方法
addResult
将数据追加到事件的结果数组中。
addResult( data) :
自版本 |
4.2.0 |
---|
参数
- data
mixed
添加到结果数组中的内容。
返回值
void
onSetResult
处理直接设置结果参数。
onSetResult(mixed||string|int value) : mixed||string|int
此方法具有双重目的:向后兼容性和强制使用 addResult。
当 $this->preventSetArgumentResult 为 false 时,它充当事件处理程序的向后兼容垫片,这些事件处理程序期望使用通用事件类而不是此包中实现的具体事件。这允许在 Joomla 4.x 的整个生命周期中迁移到具体的事件类。
当 $this->preventSetArgumentResult 为 false(在 Joomla 5.0 上始终如此)时,如果开发者尝试调用 setArgument('result', ...) 而不是通过 addResult() 方法,则会抛出 BadMethodCallException。
自版本 |
4.4.0 |
---|
参数
- value
array<string|int, mixed>
新的结果数组。
返回值
array<string|int, mixed>
setResult
处理直接设置结果参数。
setResult(mixed||string|int value) : mixed||string|int
此方法具有双重目的:向后兼容性和强制使用 addResult。
当 $this->preventSetArgumentResult 为 false 时,它充当事件处理程序的向后兼容垫片,这些事件处理程序期望使用通用事件类而不是此包中实现的具体事件。这允许在 Joomla 4.x 的整个生命周期中迁移到具体的事件类。
当 $this->preventSetArgumentResult 为 false(在 Joomla 5.0 上始终如此)时,如果开发者尝试调用 setArgument('result', ...) 而不是通过 addResult() 方法,则会抛出 BadMethodCallException。
自版本 |
4.2.0 |
---|---|
已弃用 |
4.4.0 将在 6.0 中删除 使用带 onSet 前缀的对应方法 |
参数
- value
array<string|int, mixed>
新的结果数组。
返回值
array<string|int, mixed>
属性
preventSetArgumentResult
禁止使用 setArgument() 直接设置结果参数,而应通过 addResult() 进行设置。
您应该仅针对在 Joomla 4.2.0 之前不存在的事件名称或如果您是第三方开发者引入了仅在您的软件中使用的新的事件名称时,将此设置为 true。
自版本 |
4.2.0 |
---|---|
已弃用 |
4.3 将在 6.0 中删除 使用 setResult() 设置结果参数将始终被禁止。 |
类型
bool