ヤミRoot VoidGate
User / IP
:
216.73.216.81
Host / Server
:
146.88.233.70 / dev.loger.cm
System
:
Linux hybrid1120.fr.ns.planethoster.net 3.10.0-957.21.2.el7.x86_64 #1 SMP Wed Jun 5 14:26:44 UTC 2019 x86_64
Command
|
Upload
|
Create
Mass Deface
|
Jumping
|
Symlink
|
Reverse Shell
Ping
|
Port Scan
|
DNS Lookup
|
Whois
|
Header
|
cURL
:
/
home
/
logercm
/
dev.loger.cm
/
vendor
/
symfony
/
maker-bundle
/
src
/
Maker
/
Viewing: MakeSubscriber.php
<?php /* * This file is part of the Symfony MakerBundle 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\Bundle\MakerBundle\Maker; use Symfony\Bundle\MakerBundle\ConsoleStyle; use Symfony\Bundle\MakerBundle\DependencyBuilder; use Symfony\Bundle\MakerBundle\EventRegistry; use Symfony\Bundle\MakerBundle\Generator; use Symfony\Bundle\MakerBundle\InputConfiguration; use Symfony\Bundle\MakerBundle\Str; use Symfony\Bundle\MakerBundle\Util\UseStatementGenerator; use Symfony\Bundle\MakerBundle\Validator; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Console\Question\Question; use Symfony\Component\EventDispatcher\EventSubscriberInterface; /** * @author Javier Eguiluz <javier.eguiluz@gmail.com> * @author Ryan Weaver <weaverryan@gmail.com> */ final class MakeSubscriber extends AbstractMaker { private $eventRegistry; public function __construct(EventRegistry $eventRegistry) { $this->eventRegistry = $eventRegistry; } public static function getCommandName(): string { return 'make:subscriber'; } public static function getCommandDescription(): string { return 'Creates a new event subscriber class'; } public function configureCommand(Command $command, InputConfiguration $inputConfig): void { $command ->addArgument('name', InputArgument::OPTIONAL, 'Choose a class name for your event subscriber (e.g. <fg=yellow>ExceptionSubscriber</>)') ->addArgument('event', InputArgument::OPTIONAL, 'What event do you want to subscribe to?') ->setHelp(file_get_contents(__DIR__.'/../Resources/help/MakeSubscriber.txt')) ; $inputConfig->setArgumentAsNonInteractive('event'); } public function interact(InputInterface $input, ConsoleStyle $io, Command $command): void { if (!$input->getArgument('event')) { $events = $this->eventRegistry->getAllActiveEvents(); $io->writeln(' <fg=green>Suggested Events:</>'); $io->listing($this->eventRegistry->listActiveEvents($events)); $question = new Question(sprintf(' <fg=green>%s</>', $command->getDefinition()->getArgument('event')->getDescription())); $question->setAutocompleterValues($events); $question->setValidator([Validator::class, 'notBlank']); $event = $io->askQuestion($question); $input->setArgument('event', $event); } } public function generate(InputInterface $input, ConsoleStyle $io, Generator $generator): void { $subscriberClassNameDetails = $generator->createClassNameDetails( $input->getArgument('name'), 'EventSubscriber\\', 'Subscriber' ); $event = $input->getArgument('event'); $eventFullClassName = $this->eventRegistry->getEventClassName($event); $eventClassName = $eventFullClassName ? Str::getShortClassName($eventFullClassName) : null; $useStatements = new UseStatementGenerator([ EventSubscriberInterface::class, ]); if (null !== $eventFullClassName) { $useStatements->addUseStatement($eventFullClassName); } $generator->generateClass( $subscriberClassNameDetails->getFullName(), 'event/Subscriber.tpl.php', [ 'use_statements' => $useStatements, 'event' => class_exists($event) ? sprintf('%s::class', $eventClassName) : sprintf('\'%s\'', $event), 'event_arg' => $eventClassName ? sprintf('%s $event', $eventClassName) : '$event', 'method_name' => class_exists($event) ? Str::asEventMethod($eventClassName) : Str::asEventMethod($event), ] ); $generator->writeChanges(); $this->writeSuccessMessage($io); $io->text([ 'Next: Open your new subscriber class and start customizing it.', 'Find the documentation at <fg=yellow>https://symfony.com/doc/current/event_dispatcher.html#creating-an-event-subscriber</>', ]); } public function configureDependencies(DependencyBuilder $dependencies): void { } }
Coded With 💗 by
0x6ick