TYPO3
7.6
Users
bogdan
Projects
Kapeli
Resources
Dash
Docsets
TYPO3
src
typo3
sysext
install
Classes
ViewHelpers
Object
ArrayValueByKeyViewHelper.php
Go to the documentation of this file.
1
<?php
2
namespace
TYPO3\CMS\Install\ViewHelpers\Object;
3
4
/*
5
* This file is part of the TYPO3 CMS project.
6
*
7
* It is free software; you can redistribute it and/or modify it under
8
* the terms of the GNU General Public License, either version 2
9
* of the License, or any later version.
10
*
11
* For the full copyright and license information, please read the
12
* LICENSE.txt file that was distributed with this source code.
13
*
14
* The TYPO3 project - inspiring people to share!
15
*/
16
17
use
TYPO3\CMS\Install\ViewHelpers\Exception
;
18
use
TYPO3\CMS\Fluid\Core\Rendering\RenderingContextInterface
;
19
use
TYPO3\CMS\Fluid\Core\ViewHelper\Facets\CompilableInterface
;
20
use
TYPO3\CMS\Fluid\Core\ViewHelper\AbstractViewHelper
;
21
36
class
ArrayValueByKeyViewHelper
extends
AbstractViewHelper
implements
CompilableInterface
37
{
45
public
function
render
(array $array, $key)
46
{
47
return
static::renderStatic(
48
array(
49
'array'
=> $array,
50
'key'
=> $key,
51
),
52
$this->
buildRenderChildrenClosure
(),
53
$this->renderingContext
54
);
55
}
56
65
public
static
function
renderStatic
(array
$arguments
, \Closure
$renderChildrenClosure
,
RenderingContextInterface
$renderingContext
)
66
{
67
$array = $arguments[
'array'
];
68
$key = $arguments[
'key'
];
69
$result =
''
;
70
if
(isset($array[$key])) {
71
$result = $array[$key];
72
}
73
if
(!is_scalar($result)) {
74
throw
new
Exception
(
75
'Only scalar return values (string, int, float or double) are supported.'
,
76
1430852128
77
);
78
}
79
return
(
string
)$result;
80
}
81
}
Generated on Wed Nov 11 2015 01:51:50 for TYPO3 by
1.8.3