File Manager Lite
Dir:
/home/codewavebd/public_html/vendor/symfony/console/Attribute
Upload
[..]
Argument.php (5.63 KB)
Edit
Rename
Del
AsCommand.php (1.65 KB)
Edit
Rename
Del
Ask.php (5.95 KB)
Edit
Rename
Del
Interact.php (1.44 KB)
Edit
Rename
Del
InteractiveAttributeInterface.php (423 B)
Edit
Rename
Del
Option.php (7.6 KB)
Edit
Rename
Del
Reflection/
Rename
Del
Edit: Interact.php
<?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\Console\Attribute; use Symfony\Component\Console\Exception\LogicException; #[\Attribute(\Attribute::TARGET_METHOD)] class Interact implements InteractiveAttributeInterface { private \ReflectionMethod $method; /** * @internal */ public static function tryFrom(\ReflectionMethod $method): ?self { /** @var self|null $self */ if (!$self = ($method->getAttributes(self::class)[0] ?? null)?->newInstance()) { return null; } if (!$method->isPublic() || $method->isStatic()) { throw new LogicException(\sprintf('The interactive method "%s::%s()" must be public and non-static.', $method->getDeclaringClass()->getName(), $method->getName())); } if ('__invoke' === $method->getName()) { throw new LogicException(\sprintf('The "%s::__invoke()" method cannot be used as an interactive method.', $method->getDeclaringClass()->getName())); } $self->method = $method; return $self; } /** * @internal */ public function getFunction(object $instance): \ReflectionFunction { return new \ReflectionFunction($this->method->getClosure($instance)); } }
Simpan