【问题标题】:dump function ignore inline parameter when using TaggedValue转储函数在使用 TaggedValue 时忽略内联参数
【发布时间】:2019-11-10 07:28:53
【问题描述】:

Yaml::Dump() 函数有问题。 当我使用 TaggedValue 时,转储函数会忽略参数 $inline

如果我没有使用 TaggedValues,它会按预期工作。

这是使用的示例代码

 use Symfony\Component\Yaml\Yaml;
 use Symfony\Component\Yaml\Tag\TaggedValue;

$Admins = array(
        array(
            'samaccountname' => ['user1'],
            'cn' => ['Louisa Nicolas'],
            'mail' => ['mail@domain.com'],
        ),
        array(
            'samaccountname' => ['user2'],
            'cn' => ['Telper Max'],
            'mail' => ['mail@domain.com'],
        )
    );

    $rootYaml = array();
    foreach ($Admins as $Admin) {
        $adm = array(
            'id' => $Admin['samaccountname'][0],
            'annotations' => array(
                'name' => $Admin['cn'][0],
                'email' => $Admin['mail'][0]
        ));
        $rootYaml[] = $adm;
        $rootYamlTagged[] = new TaggedValue('user', $adm);
    }
    echo "##### Works without tags\n";
    print Yaml::dump($rootYaml, 3);
    echo "##### not working with tags\n";
    print Yaml::dump($rootYamlTagged, 3);

结果:

##### Works without tags
-
    id: user1
    annotations:
        name: 'Louisa Nicolas'
        email: mail@domain.com
-
    id: user2
    annotations:
        name: 'Telper Max'
        email: mail@domain.com
##### not working with tags
- !user { id: user1, annotations: { name: 'Louisa Nicolas', email: mail@domain.com } }
- !user { id: user2, annotations: { name: 'Telper Max', email: mail@domain.com } }

我希望有标记

- !user 
  id: user1, 
  annotations: 
    name: 'Louisa Nicolas'
    email: mail@domain.com
- !user
  id: user2
  annotations: 
    name: 'Telper Max'
    email: mail@domain.com 

我在支持团队为此打开了一个错误,并确认了错误。

Yaml dump : ignore inline parameter when TaggedValue used

【问题讨论】:

    标签: php symfony yaml symfony4


    【解决方案1】:

    错误已获批准。 它已在 3.4 版中修复。

    拉取请求[Yaml] fix inline handling when dumping tagged values 有实际的代码更改。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-04-24
      • 2020-12-14
      • 1970-01-01
      • 2015-08-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多