/
home
/
obinna
/
html
/
boazapp
/
vendor
/
symfony
/
maker-bundle
/
src
/
Maker
/
Upload File
HOME
<?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\Generator; use Symfony\Bundle\MakerBundle\InputConfiguration; use Symfony\Bundle\MakerBundle\Str; use Symfony\Component\Console\Command\Command; use Symfony\Component\Console\Input\InputArgument; use Symfony\Component\Console\Input\InputInterface; use Symfony\Component\Validator\Validation; /** * @author Javier Eguiluz <javier.eguiluz@gmail.com> * @author Ryan Weaver <weaverryan@gmail.com> */ final class MakeValidator extends AbstractMaker { public static function getCommandName(): string { return 'make:validator'; } public static function getCommandDescription(): string { return 'Creates a new validator and constraint class'; } public function configureCommand(Command $command, InputConfiguration $inputConf) { $command ->addArgument('name', InputArgument::OPTIONAL, 'The name of the validator class (e.g. <fg=yellow>EnabledValidator</>)') ->setHelp(file_get_contents(__DIR__.'/../Resources/help/MakeValidator.txt')) ; } public function generate(InputInterface $input, ConsoleStyle $io, Generator $generator) { $validatorClassNameDetails = $generator->createClassNameDetails( $input->getArgument('name'), 'Validator\\', 'Validator' ); $constraintFullClassName = Str::removeSuffix($validatorClassNameDetails->getFullName(), 'Validator'); $generator->generateClass( $validatorClassNameDetails->getFullName(), 'validator/Validator.tpl.php', [ 'constraint_class_name' => $constraintFullClassName, ] ); $generator->generateClass( $constraintFullClassName, 'validator/Constraint.tpl.php', [] ); $generator->writeChanges(); $this->writeSuccessMessage($io); $io->text([ 'Next: Open your new constraint & validators and add your logic.', 'Find the documentation at <fg=yellow>http://symfony.com/doc/current/validation/custom_constraint.html</>', ]); } public function configureDependencies(DependencyBuilder $dependencies) { $dependencies->addClassDependency( Validation::class, 'validator' ); } }