PHP code example of matthiasnoback / symfony-console-form
1. Go to this page and download the library: Download matthiasnoback/symfony-console-form library. Choose the download type require.
2. Extract the ZIP file and open the index.php.
3. Add this code to the index.php.
<?php
require_once('vendor/autoload.php');
/* Start to develop here. Best regards https://php-download.com/ */
matthiasnoback / symfony-console-form example snippets
// app/AppKernel.php
public function registerBundles()
{
$bundles = array(
// ...
new Matthias\SymfonyConsoleForm\Bundle\SymfonyConsoleFormBundle(),
);
}
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
use Symfony\Component\Validator\Constraints\Country;
use Symfony\Component\Validator\Constraints\Email;
class DemoType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add(
'name',
'text',
[
'label' => 'Your name',
'
class Demo
{
public $name;
...
}
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Matthias\SymfonyConsoleForm\Console\Helper\FormHelper;
class TestCommand extends Command
{
protected function configure()
{
$this->setName('form:demo');
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$formHelper = $this->getHelper('form');
/** @var FormHelper $formHelper */
$formData = $formHelper->interactUsingForm(DemoType::class, $input, $output);
// $formData is the valid and populated form data object/array
...
}
}
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Input\InputOption;
use Symfony\Component\Console\Output\OutputInterface;
use Symfony\Component\Form\Extension\Core\Type\ChoiceType;
use Matthias\SymfonyConsoleForm\Console\Helper\FormHelper;
class TestCommand extends Command
{
protected function configure()
{
$this->setName('form:demo');
$this->addOption('custom-option', null, InputOption::VALUE_OPTIONAL, 'Your custom option', 'option1')
}
protected function execute(InputInterface $input, OutputInterface $output)
{
$formHelper = $this->getHelper('form');
/** @var FormHelper $formHelper */
$formData = $formHelper->interactUsingNamedForm('custom-option', ChoiceType::class, $input, $output, [
'label' => 'Your label',
'help' => 'Additional information to help the interaction',
'choices' => [
'Default value label' => 'option1',
'Another value Label' => 'option2',
]
]);
// $formData will be "option1" or "option2" and option "--custom-option" will be used as default value
...
}
}
use Symfony\Component\Console\Command\Command;
use Symfony\Component\Console\Input\InputInterface;
use Symfony\Component\Console\Output\OutputInterface;
use Matthias\SymfonyConsoleForm\Console\Helper\FormHelper;
class TestCommand extends Command
{
protected function configure()
{
$this
->addOption('user[username]', null, InputOption::VALUE_OPTIONAL)
->addOption('user[email]', null, InputOption::VALUE_OPTIONAL)
->addOption('user[address][street]', null, InputOption::VALUE_OPTIONAL)
->addOption('user[address][city]', null, InputOption::VALUE_OPTIONAL)
->addOption('acceptTerms', null, InputOption::VALUE_OPTIONAL)
;
}
...
}
Loading please wait ...
Before you can download the PHP files, the dependencies should be resolved. This can take some minutes. Please be patient.