/
githubmirror
/
symfony
Обзор
Документация
Войти
/
githubmirror
/
symfony
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
8.2
src/Symfony/Component/Runtime/Runner/ClosureRunner.php
44 строки
1 KB
Alexander M. Turek
Prefix all sprintf() calls
20 июн 2024, 18:52
20 июн 2024, 18:52
6ce530c
Код
Авторство
О чём код?
<?php /* * This file is part of the Symfony package. * * (c) Fabien Potencier <fabien@symfony.com> * * For the full copyright and license information, please view the LICENSE * file that was distributed with this source code. */ namespace Symfony\Component\Runtime\Runner; use Symfony\Component\Runtime\RunnerInterface; /** * @author Nicolas Grekas <p@tchwork.com> */ class ClosureRunner implements RunnerInterface { public function __construct( private readonly \Closure $closure, ) { } public function run(): int { $exitStatus = ($this->closure)(); if (\is_string($exitStatus)) { echo $exitStatus; return 0; } if (null !== $exitStatus && !\is_int($exitStatus)) { $r = new \ReflectionFunction($this->closure); throw new \TypeError(\sprintf('Unexpected value of type "%s" returned, "string|int|null" expected from "%s" on line "%d".', get_debug_type($exitStatus), $r->getFileName(), $r->getStartLine())); } return $exitStatus ?? 0; } }