TYPO3 CMS  TYPO3_8-7
ClosureFinisher.php
Go to the documentation of this file.
1 <?php
2 declare(strict_types = 1);
4 
5 /*
6  * This file is part of the TYPO3 CMS project.
7  *
8  * It originated from the Neos.Form package (www.neos.io)
9  *
10  * It is free software; you can redistribute it and/or modify it under
11  * the terms of the GNU General Public License, either version 2
12  * of the License, or any later version.
13  *
14  * For the full copyright and license information, please read the
15  * LICENSE.txt file that was distributed with this source code.
16  *
17  * The TYPO3 project - inspiring people to share!
18  */
19 
21 
38 {
39 
43  protected $defaultOptions = [
44  'closure' => null
45  ];
46 
53  protected function executeInternal()
54  {
56  $closure = $this->parseOption('closure');
57  if ($closure === null) {
58  return;
59  }
60  if (!$closure instanceof \Closure) {
61  throw new FinisherException(sprintf('The option "closure" must be of type Closure, "%s" given.', gettype($closure)), 1332155239);
62  }
63  $closure($this->finisherContext);
64  }
65 }