BeforeSaveEvent
扩展 AbstractSaveEvent 实现 ResultAwareInterface用户保存事件类。
示例:new BeforeSaveEvent('onEventName', ['subject' => $oldUserArray, 'isNew' => $isNew, 'data' => $data]);
自 |
5.0.0 |
---|---|
包 |
Joomla CMS |
方法
__construct
构造函数。
__construct( name, mixed||string|int arguments = []) :
抛出 |
|
---|---|
自 |
5.0.0 |
参数
- 名称
string
事件名称。- 参数
array<string|int, mixed>
事件参数。
响应
混合
addResult
将数据追加到事件的结果数组中。
addResult( data) :
自 |
4.2.0 |
---|
参数
- 数据
mixed
要添加到结果数组的内容。
响应
空
create
为给定的事件名称和主题创建一个新的 CMS 事件对象。必须提供以下参数:主题对象 事件的主题。这是要操作的核心对象。
create( eventName, mixed||string|int arguments = []) :
事件类 字符串 事件类名称。如果未提供,将使用 Joomla\CMS\Events<eventNameWithoutOnPrefix>。
自 |
4.0.0 |
---|---|
抛出 |
|
参数
- 事件名称
string
事件名称,例如 onTableBeforeLoad- 参数
array<string|int, mixed>
要传递给事件的附加参数
响应
静态
getArgument
获取事件参数值。
getArgument( name, default = null) :
如果存在预处理方法,它将使用该方法。该方法的签名为
onGet<ArgumentName>($value): mixed
其中
$value 是事件的 $arguments 数组中当前存储的值 它返回要返回给调用者的值。
自 |
4.0.0 |
---|
参数
- 名称
string
参数名称。- 默认值
mixed
如果未找到,则为默认值。
响应
mixed
参数值或默认值。
getData
数据获取器。
getData() : mixed||string|int
自 |
5.0.0 |
---|
响应
array<string|int, mixed>
getEventClassByEventName
获取给定事件名称的具体事件类名称。
getEventClassByEventName( eventName) :
如果此特性不了解事件名称,则此方法将回退到通用的 Joomla\Event\Event 类。
自 |
4.2.0 |
---|
参数
- 事件名称
string
事件名称
响应
string
事件类名称
getIsNew
isNew 状态获取器。
getIsNew() :
自 |
5.0.0 |
---|
响应
bool
getUser
用户获取器。
getUser() : mixed||string|int
自 |
5.0.0 |
---|
响应
array<string|int, mixed>
offsetSet
设置事件参数的值。
offsetSet( name, value) :
自 |
4.0.0 |
---|---|
抛出 |
|
参数
- 名称
string
参数名称。- 值
mixed
参数值。
响应
空
offsetUnset
删除事件参数。
offsetUnset( name) :
自 |
4.0.0 |
---|---|
抛出 |
|
参数
- 名称
string
参数名称。
响应
空
onSetData
数据参数设置器。
onSetData(mixed||string|int value) : mixed||string|int
自 |
5.0.0 |
---|
参数
- 值
array<string|int, mixed>
要设置的值
响应
array<string|int, mixed>
onSetIsNew
isNew 参数设置器。
onSetIsNew( value) :
自 |
5.0.0 |
---|
参数
- 值
bool
要设置的值
响应
bool
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 |
---|
参数
- 值
array<string|int, mixed>
新的结果数组。
响应
array<string|int, mixed>
onSetSubject
主题参数设置器。
onSetSubject(mixed||string|int value) : mixed||string|int
自 |
5.0.0 |
---|
参数
- 值
array<string|int, mixed>
要设置的值
响应
array<string|int, mixed>
reshapeArguments
重新构造参数数组以保留与传统侦听器的 b/c
reshapeArguments(mixed||string|int arguments, mixed||string|int argumentNames, mixed||string|int defaults = []) : mixed||string|int
自 |
4.2.0 |
---|
参数
- 参数
array<string|int, mixed>
传递给构造函数的命名参数数组。- 参数名称
array<string|int, mixed>
允许的参数名称(强制性 AND 可选)。- 默认值
array<string|int, mixed>
可选参数的默认值。
响应
array<string|int, mixed>
重新构造的参数。
setArgument
向事件添加参数。
setArgument( name, value) :
如果存在预处理方法,它将使用该方法。该方法的签名为
onSet<ArgumentName>($value): mixed
其中
$value 是用户正在设置的值 它返回要返回到事件的 $arguments 数组中设置的值。
自 |
4.0.0 |
---|
参数
- 名称
string
参数名称。- 值
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 前缀的对应方法 |
参数
- 值
array<string|int, mixed>
新的结果数组。
响应
array<string|int, mixed>
属性
eventNameToConcreteClass
将事件名称映射到具体事件类。
这仅适用于具有固定名称的事件。具有可变名称的事件在 getEventClassByEventName 类中使用 PHP 逻辑进行处理。
自 |
4.2.0 |
---|
类型
array<string|int, mixed>
已构造
一个标志,用于查看构造函数是否已调用。
自 |
4.0.0 |
---|
类型
bool
legacyArgumentsOrder
传统插件预期接收的参数名称,按顺序排列。
自 |
5.0.0 |
---|---|
已弃用 |
5.0 将在 6.0 中删除 |
类型
array<string|int, mixed>
resultIsNullable
结果属性值也可以为 NULL 吗?
自 |
4.2.0 |
---|
类型
bool
preventSetArgumentResult
禁止使用 setArgument() 直接设置结果参数,而不是通过 addResult() 进行设置。
您应仅针对在 Joomla 4.2.0 之前不存在的事件名称或您是第三方开发人员并引入了仅在您的软件中使用的新的事件名称时,将此设置为 true。
自 |
4.2.0 |
---|---|
已弃用 |
4.3 将在 6.0 中删除 使用 setResult() 设置结果参数将始终被禁止。 |
类型
bool