• Home
  • Features
  • Pricing
  • Docs
  • Announcements
  • Sign In

FluidTYPO3 / vhs / 30001290505

23 Jul 2026 10:57AM UTC coverage: 70.309% (-1.7%) from 72.022%
30001290505

push

github

NamelessCoder
[TER] 8.0.0

4819 of 6854 relevant lines covered (70.31%)

6.54 hits per line

Source File
Press 'n' to go to next uncovered line, 'b' for previous

93.33
/Classes/ViewHelpers/Iterator/KeysViewHelper.php
1
<?php
2
namespace FluidTYPO3\Vhs\ViewHelpers\Iterator;
3

4
/*
5
 * This file is part of the FluidTYPO3/Vhs project under GPLv2 or later.
6
 *
7
 * For the full copyright and license information, please read the
8
 * LICENSE.md file that was distributed with this source code.
9
 */
10

11
use FluidTYPO3\Vhs\Core\ViewHelper\AbstractViewHelper;
12
use FluidTYPO3\Vhs\Traits\ArrayConsumingViewHelperTrait;
13
use FluidTYPO3\Vhs\Traits\TemplateVariableViewHelperTrait;
14
use TYPO3Fluid\Fluid\Core\Rendering\RenderingContextInterface;
15

16
/**
17
 * Gets keys from an iterator.
18
 */
19
class KeysViewHelper extends AbstractViewHelper
20
{
21
    use TemplateVariableViewHelperTrait;
22
    use ArrayConsumingViewHelperTrait;
23

24
    /**
25
     * @var boolean
26
     */
27
    protected $escapeChildren = false;
28

29
    /**
30
     * @var boolean
31
     */
32
    protected $escapeOutput = false;
33

34
    public function initializeArguments(): void
35
    {
36
        $this->registerArgument('subject', 'mixed', 'Input to work on - Array/Traversable/...');
3✔
37
        $this->registerAsArgument();
3✔
38
    }
39

40
    /**
41
     * @return mixed
42
     */
43
    public static function renderStatic(
44
        array $arguments,
45
        \Closure $renderChildrenClosure,
46
        RenderingContextInterface $renderingContext
47
    ) {
48
        /** @var string|null $as */
49
        $as = $arguments['as'];
3✔
50
        return static::renderChildrenWithVariableOrReturnInputStatic(
3✔
51
            array_keys(
3✔
52
                static::arrayFromArrayOrTraversableOrCSVStatic(
3✔
53
                    empty($as)
3✔
54
                        ? ($arguments['subject'] ?? $renderChildrenClosure())
×
55
                        : $arguments['subject']
3✔
56
                )
3✔
57
            ),
3✔
58
            $as,
3✔
59
            $renderingContext,
3✔
60
            $renderChildrenClosure
3✔
61
        );
3✔
62
    }
63
}
STATUS · Troubleshooting · Open an Issue · Sales · Support · CAREERS · ENTERPRISE · START FREE TRIAL · SCHEDULE DEMO
ANNOUNCEMENTS · TWITTER · TOS & SLA · Supported CI Services · What's a CI service? · Automated Testing

© 2026 Coveralls, Inc