如何将此文件转换为XML?
services:
IHQS.nuitblanche.admin.news:
class: IHQS\NuitBlancheBundle\Admin\NewsAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: nuitblanche, label: News }
arguments: [null, IHQS\NuitBlancheBundle\Entity\News, IHQSNuitBlancheBundle:NewsAdmin]
特别是对于标签部分
是:
<service id="nb.admin.news" class="IHQS\NuitBlancheBundle\Admin\NewsAdmin">
<tag name="sonata.admin" manager_type="orm" group="NuitBlanche" label="News" />
<argument />
<argument>IHQS\NuitBlancheBundle\Entity\News</argument>
<argument>IHQSNuitBlancheBundle:Admin</argument>
</service>
正确还是?
答案 0 :(得分:0)
在str_replace或preg_replace的帮助下,您应该能够将输入文本分解为(多维)数组,这将更容易转换为XML
$example => array(
'services' => array(
'IHQS.nuitblanche.admin.news' => array(
'class' => 'IHQS\NuitBlancheBundle\Admin\NewsAdmin',
'tags' => array(
'name' => 'sonata.admin',
'manager_type' => 'orm',
'group' => 'nuitblanche',
'label' => 'News'
),
arguments => array(
null,
'IHQS\NuitBlancheBundle\Entity\News',
'IHQSNuitBlancheBundle:NewsAdmin'
)
)
)
);
答案 1 :(得分:0)
您无需转换它,您只需创建XML文件并包含您的YAML文件:
<container xmlns="http://symfony-project.org/2.0/container">
<imports>
<import resource="default.yml" class="sfServiceContainerLoaderFileYaml" />
</imports>
</container>
这也应该让您开始覆盖设置,以便您可以轻松地将YAML转换为XML:
<container xmlns="http://symfony-project.org/2.0/container">
<imports>
<import resource="default.xml" />
</imports>
<parameters>
<!-- These parameters override the one defined in default.xml -->
</parameters>
<services>
<!-- These service definitions override the one defined in default.xml -->
</services>
</container>
这是博客文章系列的一部分,即:
此处记录了组件本身:
使用类似的示例XML作为示例YAML:
# app/config/config.yml
services:
my_mailer:
class: Acme\HelloBundle\Mailer
arguments: [sendmail]
在XML中:
<!-- app/config/config.xml -->
<services>
<service id="my_mailer" class="Acme\HelloBundle\Mailer">
<argument>sendmail</argument>
</service>
</services>