Yaffs site version 1.1
[yaffs-website] / vendor / drupal / console / src / Command / Database / ConnectCommand.php
1 <?php
2
3 /**
4  * @file
5  * Contains \Drupal\Console\Command\Database\ConnectCommand.
6  */
7
8 namespace Drupal\Console\Command\Database;
9
10 use Symfony\Component\Console\Input\InputArgument;
11 use Symfony\Component\Console\Input\InputInterface;
12 use Symfony\Component\Console\Output\OutputInterface;
13 use Symfony\Component\Console\Command\Command;
14 use Drupal\Console\Core\Command\Shared\CommandTrait;
15 use Drupal\Console\Command\Shared\ConnectTrait;
16 use Drupal\Console\Core\Style\DrupalStyle;
17
18 class ConnectCommand extends Command
19 {
20     use CommandTrait;
21     use ConnectTrait;
22
23     /**
24      * {@inheritdoc}
25      */
26     protected function configure()
27     {
28         $this
29             ->setName('database:connect')
30             ->setDescription($this->trans('commands.database.connect.description'))
31             ->addArgument(
32                 'database',
33                 InputArgument::OPTIONAL,
34                 $this->trans('commands.database.connect.arguments.database'),
35                 'default'
36             )
37             ->setHelp($this->trans('commands.database.connect.help'));
38     }
39
40     /**
41      * {@inheritdoc}
42      */
43     protected function execute(InputInterface $input, OutputInterface $output)
44     {
45         $io = new DrupalStyle($input, $output);
46
47         $database = $input->getArgument('database');
48         $databaseConnection = $this->resolveConnection($io, $database);
49
50         $connection = sprintf(
51             '%s -A --database=%s --user=%s --password=%s --host=%s --port=%s',
52             $databaseConnection['driver'],
53             $databaseConnection['database'],
54             $databaseConnection['username'],
55             $databaseConnection['password'],
56             $databaseConnection['host'],
57             $databaseConnection['port']
58         );
59
60         $io->commentBlock(
61             sprintf(
62                 $this->trans('commands.database.connect.messages.connection'),
63                 $connection
64             )
65         );
66
67         return 0;
68     }
69 }