未加星标

New in Symfony 3.3: Custom YAML tags

字体大小 | |
[开发(php) 所属分类 开发(php) | 发布者 店小二03 | 时间 2017 | 作者 红领巾 ] 0人收藏点击收藏

Contributed by

Guilhem Niot in #21194 .

TheYAML format is well known for being simple and readable, but under the hood it defines lots of advanced features for complex needs. One of those features are YAML tags , which are primarily used to define explicit data types.

The Symfony Yaml component already supports several tags, such as !!binary for storing binary data, and php/const: for referring to PHP constants. In Symfony 3.3 you now can define your own YAML tags thanks to a new flag called Yaml::PARSE_CUSTOM_TAGS .

Custom tags are arbitrary strings that start with the ! character, such as the !my_tag value in the following example:

!my_tag { foo: bar }

Use the following PHP code to parse it:

use Symfony\Component\Yaml\Yaml; $yaml = "!my_tag { foo: bar }"; $config = Yaml::parse($yaml, Yaml::PARSE_CUSTOM_TAGS);

The semantics of the YAML tags depend on each application, so the parser wraps those values in a generic Symfony\Component\Yaml\Tag\TaggedValue class. In the above example, the $config variable now contains:

TaggedValue('my_tag', array('foo' => 'bar'));

The support for YAML tags goes both ways, so if your PHP code contains TaggedValue objects, they will be transformed into YAML tags:

$config = array( new TaggedValue('foo', array('bar')), new TaggedValue('quz', array('baz')), ); // The generated YAML code is: // - !foo [bar] // - !quz [baz]

本文开发(php)相关术语:php代码审计工具 php开发工程师 移动开发者大会 移动互联网开发 web开发工程师 软件开发流程 软件开发工程师

主题: PHPCU
分页:12
转载请注明
本文标题:New in Symfony 3.3: Custom YAML tags
本站链接:http://www.codesec.net/view/533105.html
分享请点击:


1.凡CodeSecTeam转载的文章,均出自其它媒体或其他官网介绍,目的在于传递更多的信息,并不代表本站赞同其观点和其真实性负责;
2.转载的文章仅代表原创作者观点,与本站无关。其原创性以及文中陈述文字和内容未经本站证实,本站对该文以及其中全部或者部分内容、文字的真实性、完整性、及时性,不作出任何保证或承若;
3.如本站转载稿涉及版权等问题,请作者及时联系本站,我们会及时处理。
登录后可拥有收藏文章、关注作者等权限...
技术大类 技术大类 | 开发(php) | 评论(0) | 阅读(31)