Как мне разобрать yaml-файл из службы в Symfony2

Я хочу получить массив из файла yaml внутри одной из моих служб, и я немного не понимаю, как вводить файл для использования в моем services.yml.

# /path/to/app/src/Bundle/Resources/config/services.yml
parameters:
    do_something: Bundle\DoSomething
    yaml.parser.class: Symfony\Component\Yaml\Parser
    yaml.config_file: "/Resources/config/config.yml" # what do I put here to win!

services:
    yaml_parser:
        class: %yaml.parser.class%

    do_parsing:
        class: %do_something%
        arguments: [ @yaml_parser, %yaml.config_file% ]

У меня на службе

# /path/to/app/src/Bundle/DoSomething.php

<?php

namespace Bundle;

use \Symfony\Component\Yaml\Parser;

class DoSemething
{
    protected $parser;
    protected $parsed_yaml_file;

    public function __construct(Parser $parser, $file_path)
    {
       $this->parsed_yaml_file = $parser->parse(file_get_contents(__DIR__ . $file_path));
    }

    public function useParsedFile()
    {
        foreach($parsed_yaml_file as $k => $v)
        {
            // ...  etc etc 
        }
    }
}

Это может быть совершенно неправильный подход, если я буду делать что-то еще, пожалуйста, дайте мне знать!

5
задан j0k 20 September 2012 в 11:36
поделиться