TYPO3 CMS  TYPO3_7-6
CountViewHelper.php
Go to the documentation of this file.
1 <?php
3 
4 /* *
5  * This script is backported from the TYPO3 Flow package "TYPO3.Fluid". *
6  * *
7  * It is free software; you can redistribute it and/or modify it under *
8  * the terms of the GNU Lesser General Public License, either version 3 *
9  * of the License, or (at your option) any later version. *
10  * *
11  * The TYPO3 project - inspiring people to share! *
12  * */
13 
18 
41 {
45  protected $escapingInterceptorEnabled = false;
46 
55  public function render($subject = null)
56  {
57  return static::renderStatic(
58  ['subject' => $subject],
60  $this->renderingContext
61  );
62  }
63 
73  {
74  $subject = $arguments['subject'];
75  if ($subject === null) {
76  $subject = $renderChildrenClosure();
77  }
78  if (is_object($subject) && !$subject instanceof \Countable) {
79  throw new Exception('CountViewHelper only supports arrays and objects implementing \Countable interface. Given: "' . get_class($subject) . '"', 1279808078);
80  }
81  if (is_array($subject) || $subject instanceof \Countable) {
82  return count($subject);
83  }
84  return 0;
85  }
86 }
static renderStatic(array $arguments, \Closure $renderChildrenClosure, RenderingContextInterface $renderingContext)