SetCachingEvent

继承自 PageCacheEvent 实现 ResultAwareInterface

页面缓存事件的类

自版本

5.1.0

Joomla CMS

方法

__construct

构造函数。

__construct( name, mixed||string|int arguments = []) : 
继承
自版本

4.0.0

抛出

BadMethodCallException

参数

name

string事件名称。

arguments

array<string|int, mixed>事件参数。

返回值

mixed

addResult

将数据追加到事件的结果数组中。

addResult( data) : 
继承
自版本

4.2.0

参数

data

mixed要添加到结果数组中的内容。

返回值

void

create

为给定的事件名称和主题创建一个新的 CMS 事件对象。必须提供以下参数:subject 对象 事件的主题。这是您将要操作的核心对象。

create( eventName, mixed||string|int arguments = []) : 
继承 静态

eventClass string 事件类名称。如果您不提供它,将使用 Joomla\CMS\Events<eventNameWithoutOnPrefix>。

自版本

4.0.0

抛出

BadMethodCallException如果您未提供主题参数

参数

eventName

string事件名称,例如 onTableBeforeLoad

arguments

array<string|int, mixed>传递给事件的其他参数

返回值

静态

getArgument

获取事件参数值。

getArgument( name,  default = null) : 
继承

如果存在预处理方法,它将使用该方法。该方法的签名为

onGet<ArgumentName>($value): mixed

其中

$value 是事件的 $arguments 数组中当前存储的值 它返回要返回给调用者的值。

自版本

4.0.0

参数

name

string参数名称。

default

mixed如果未找到,则为默认值。

返回值

mixed参数值或默认值。

getEventClassByEventName

获取给定事件名称的具体事件类名称。

getEventClassByEventName( eventName) : 
继承 静态

如果此特性不识别事件名称,则此方法将回退到通用的 Joomla\Event\Event 类。

自版本

4.2.0

参数

eventName

string事件名称

返回值

string事件类名称

offsetSet

设置事件参数的值。

offsetSet( name,  value) : 
继承
自版本

4.0.0

抛出

BadMethodCallException

参数

name

string参数名称。

value

mixed参数值。

返回值

void

offsetUnset

移除事件参数。

offsetUnset( name) : 
继承
自版本

4.0.0

抛出

BadMethodCallException

参数

name

string参数名称。

返回值

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>

setArgument

向事件添加参数。

setArgument( name,  value) : 
继承

如果存在预处理方法,它将使用该方法。该方法的签名为

onSet<ArgumentName>($value): mixed

其中

$value 是用户设置的值 它返回要返回到事件的 $arguments 数组中设置的值。

自版本

4.0.0

参数

name

string参数名称。

value

mixed值。

返回值

$this

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>

属性

eventNameToConcreteClass

将事件名称映射到具体事件类。

继承 静态

这仅适用于具有不变名称的事件。具有可变名称的事件在 getEventClassByEventName 类中使用 PHP 逻辑进行处理。

自版本

4.2.0

类型

array<string|int, mixed>

已构造

一个标志,用于查看构造函数是否已被调用。

继承
自版本

4.0.0

类型

bool

resultIsNullable

结果属性值也可以为 NULL 吗?

继承
自版本

4.2.0

类型

bool

preventSetArgumentResult

禁止使用 setArgument() 直接设置结果参数,而不是通过 addResult()。

继承 已弃用

您应该仅对在 Joomla 4.2.0 之前不存在的事件名称或如果您是第三方开发人员为仅在您的软件中使用而引入新的事件名称时,才将此设置为 true。

自版本

4.2.0

已弃用

4.3 将在 6.0 中移除 使用 setResult() 设置结果参数将始终被禁止。

类型

bool