Метод dump класса Yaml
Метод dump класса Yaml преобразует переданное
PHP-значение (массив, скаляр, объект) в строку формата YAML.
Первым параметром передаётся значение для сериализации.
Вторым параметром можно передать уровень вложенности,
третьим - флаги форматирования.
Синтаксис
Yaml::dump(mixed $input, int $inline = 2, int $indent = 4, int $flags = 0): string
Пример
Давайте сериализуем простой массив в YAML-строку:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Yaml\Yaml;
class ArticleController extends AbstractController
{
public function index(): Response
{
$data = ['a', 'b', 'c', 'd', 'e'];
$res = Yaml::dump($data);
return new Response($res);
}
}
?>
Результат выполнения кода:
- a
- b
- c
- d
- e
Пример
Давайте сериализуем ассоциативный массив с вложенными данными:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Yaml\Yaml;
class ArticleController extends AbstractController
{
public function index(): Response
{
$data = [
'name' => 'article',
'count' => 5,
'active' => true,
'tags' => ['a', 'b', 'c', 'd', 'e']
];
$res = Yaml::dump($data);
return new Response($res);
}
}
?>
Результат выполнения кода:
name: article
count: 5
active: true
tags:
- a
- b
- c
- d
- e
Пример
Давайте изменим уровень вложенности через второй параметр:
<?php
namespace App\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\Yaml\Yaml;
class ArticleController extends AbstractController
{
public function index(): Response
{
$data = [
'name' => 'article',
'items' => ['a', 'b', 'c', 'd', 'e']
];
$res = Yaml::dump($data, 3);
return new Response($res);
}
}
?>
Результат выполнения кода:
name: article
items: [a, b, c, d, e]