这是我的YML文件:
edit: '0'
parent: '0'
seo_title: 'gallery |'
seo_description: ''
seo_keywords: ''
fbtab: '0'
status: '1'
exceptions: {% pageType %}
calltoaction: 0
在PHP文件中:
$pageType = "something";
dump(Yaml::parse(file_get_contents('pathToYmlFile')));
问题是将$pageType
传递给YML文件
答案 0 :(得分:2)
YAML不是模板语言。它不了解变量或替换。您有两种选择:
第三种选择是使用YAML 标记来表示您给出的值是变量名。例如:
exceptions: !var pageType
!var
此处定义了以下标量pageType
的显式标记。大多数YAML实现允许您为!var
标记的标量注册自定义构造函数 - 不幸的是,Symphony的YAML组件不具备此类功能,因此这不是您可以选择的选项。
答案 1 :(得分:2)
你实际上并不需要这个。
请记住,您将YAML文件转换为PHP结构。
解析后,您可以使用该结构执行任何操作。因此,您可以将所需的值分配给相应的字段。
的伪代码:
$pageType = "something";
$parsed = Yaml::parse(file_get_contents('pathToYmlFile'));
$parsed->exceptions = $pageType;
您没有指定您的特定用例,但就我从您的代码示例中看到的情况而言,它适合。