beck24 / elgg_scalarmd
提供一个全局函数,用于确保元数据输出为字符串,并在必要时进行修复
1.0.1
2017-02-16 22:15 UTC
Requires
- php: >=5.5
- composer/installers: ~1.0
This package is auto-updated.
Last update: 2024-08-29 04:37:34 UTC
README
提供一个全局函数,用于确保元数据输出为字符串,并在必要时进行修复。
这在需要字符串,且仅需要字符串的情况下非常有用,如果意外返回数组,可能会破坏某些功能。例如,需要字符串的web服务响应。
这是对Elgg/Elgg#4268的一个解决方案,其中频繁更新的元数据可能会意外地复制到数组中。此函数确保元数据值返回标量,并将默认将实体元数据重置为标量值。
注意事项
此函数适用于不依赖于访问或所有权的元数据(例如,简单的键/值对,例如大多数元数据使用情况)。如果元数据确实依赖于访问或所有权,则不要在此函数中使用它,否则肯定会丢失数据。
用法
场景
$entity->country = [
'canada',
'canada
];
$entity->country 现在是
Array
(
[0] => canada
[1] => canada
)
未修复:\Beck24\scalarmd($entity, 'country', false)
canada
$entity->country 仍然是
Array
(
[0] => canada
[1] => canada
)
现在修复后:\Beck24\scalarmd($entity, 'country')
canada
$entity->country 现在是
canada