Completed
Push — master ( 55caa0...3f2e9b )
by Oscar
02:05
created

PhpArray::buildMessages()   C

Complexity

Conditions 8
Paths 30

Size

Total Lines 37
Code Lines 21

Duplication

Lines 6
Ratio 16.22 %

Importance

Changes 3
Bugs 1 Features 0
Metric Value
cc 8
eloc 21
c 3
b 1
f 0
nc 30
nop 2
dl 6
loc 37
rs 5.3846
1
<?php
2
3
namespace Gettext\Generators;
4
5
use Gettext\Translations;
6
use Gettext\Utils\MultidimensionalArrayTrait;
7
8
class PhpArray extends Generator implements GeneratorInterface
9
{
10
    use MultidimensionalArrayTrait {
11
        MultidimensionalArrayTrait::toArray as toMultidimensionalArray;
12
    }
13
14
    public static $options = [
15
        'includeHeaders' => true,
16
    ];
17
18
    /**
19
     * {@inheritdoc}
20
     */
21
    public static function toString(Translations $translations, array $options = [])
22
    {
23
        $array = self::toArray($translations, $options);
24
25
        return '<?php return '.var_export($array, true).';';
26
    }
27
28
    /**
29
     * Generates an array with the translations.
30
     *
31
     * @param Translations $translations
32
     * @param array        $options
33
     *
34
     * @return array
35
     */
36
    public static function toArray(Translations $translations, array $options = [])
37
    {
38
        $options += static::$options;
39
40
        return [
41
            'domain' => $translations->getDomain(),
42
            'plural-forms' => $translations->getHeader('Plural-Forms'),
43
            'messages' => self::toMultidimensionalArray($translations, $options['includeHeaders'], true),
44
        ];
45
    }
46
}
47