beck24/elgg_scalarmd

提供一个全局函数,用于确保元数据输出为字符串,并在必要时进行修复

安装: 27

依赖: 0

建议: 0

安全: 0

星标: 1

关注者: 2

分支: 1

开放问题: 0

语言:JavaScript

类型:elgg插件

1.0.1 2017-02-16 22:15 UTC

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