Skip to main content
Drupal API
User account menu
  • Log in

Breadcrumb

  1. Drupal Core 11.1.x
  2. QuickStartCommand.php

class QuickStartCommand

Installs a Drupal site and starts a webserver for local testing/development.

Wraps 'install' and 'server' commands.

@internal This command makes no guarantee of an API for Drupal extensions.

Hierarchy

  • class \Symfony\Component\Console\Command\Command
    • class \Drupal\Core\Command\QuickStartCommand extends \Symfony\Component\Console\Command\Command

Expanded class hierarchy of QuickStartCommand

See also

\Drupal\Core\Command\InstallCommand

\Drupal\Core\Command\ServerCommand

File

core/lib/Drupal/Core/Command/QuickStartCommand.php, line 23

Namespace

Drupal\Core\Command
View source
class QuickStartCommand extends Command {
    
    /**
     * {@inheritdoc}
     */
    protected function configure() {
        $this->setName('quick-start')
            ->setDescription('Installs a Drupal site and runs a web server. This is not meant for production and might be too simple for custom development. It is a quick and easy way to get Drupal running.')
            ->addArgument('install-profile-or-recipe', InputArgument::OPTIONAL, 'Install profile or recipe directory from which to install the site.')
            ->addOption('langcode', NULL, InputOption::VALUE_OPTIONAL, 'The language to install the site in. Defaults to en.', 'en')
            ->addOption('password', NULL, InputOption::VALUE_OPTIONAL, 'Set the administrator password. Defaults to a randomly generated password.')
            ->addOption('site-name', NULL, InputOption::VALUE_OPTIONAL, 'Set the site name. Defaults to Drupal.', 'Drupal')
            ->addOption('host', NULL, InputOption::VALUE_OPTIONAL, 'Provide a host for the server to run on. Defaults to 127.0.0.1.', '127.0.0.1')
            ->addOption('port', NULL, InputOption::VALUE_OPTIONAL, 'Provide a port for the server to run on. Will be determined automatically if none supplied.')
            ->addOption('suppress-login', 's', InputOption::VALUE_NONE, 'Disable opening a login URL in a browser.')
            ->addUsage('demo_umami --langcode fr')
            ->addUsage('standard --site-name QuickInstall --host localhost --port 8080')
            ->addUsage('minimal --host my-site.com --port 80')
            ->addUsage('core/recipes/standard --site-name MyDrupalRecipe');
        parent::configure();
    }
    
    /**
     * {@inheritdoc}
     */
    protected function execute(InputInterface $input, OutputInterface $output) : int {
        $command = $this->getApplication()
            ->find('install');
        $arguments = [
            'command' => 'install',
            'install-profile-or-recipe' => $input->getArgument('install-profile-or-recipe'),
            '--langcode' => $input->getOption('langcode'),
            '--password' => $input->getOption('password'),
            '--site-name' => $input->getOption('site-name'),
        ];
        $installInput = new ArrayInput($arguments);
        $returnCode = $command->run($installInput, $output);
        if ($returnCode === 0) {
            $command = $this->getApplication()
                ->find('server');
            $arguments = [
                'command' => 'server',
                '--host' => $input->getOption('host'),
                '--port' => $input->getOption('port'),
            ];
            if ($input->getOption('suppress-login')) {
                $arguments['--suppress-login'] = TRUE;
            }
            $serverInput = new ArrayInput($arguments);
            $returnCode = $command->run($serverInput, $output);
        }
        return $returnCode;
    }

}

Members

Title Sort descending Modifiers Object type Summary Overriden Title Overrides
Command::$aliases private property 1
Command::$application private property
Command::$code private property
Command::$definition private property
Command::$description private property 1
Command::$fullDefinition private property
Command::$help private property
Command::$helperSet private property
Command::$hidden private property
Command::$ignoreValidationErrors private property 2
Command::$name private property
Command::$processTitle private property
Command::$synopsis private property
Command::$usages private property
Command::addArgument public function Adds an argument. 2
Command::addOption public function Adds an option. 2
Command::addUsage public function Add a command usage example, it'll be prefixed with the command name. 2
Command::complete public function Supplies suggestions when resolving possible completion options for input (e.g. option or argument). 5
Command::FAILURE public constant
Command::getAliases public function Returns the aliases for the command.
Command::getApplication public function Gets the application instance for this command. 2
Command::getDefaultDescription public static function
Command::getDefaultName public static function
Command::getDefinition public function Gets the InputDefinition attached to this Command. 2
Command::getDescription public function Returns the description for the command.
Command::getHelp public function Returns the help for the command. 2
Command::getHelper public function Gets a helper instance by name. 2
Command::getHelperSet public function Gets the helper set. 1
Command::getName public function Returns the command name.
Command::getNativeDefinition public function Gets the InputDefinition to be used to create representations of this Command. 2
Command::getProcessedHelp public function Returns the processed help for the command replacing the %command.name% and
%command.full_name% patterns with the real values dynamically.
2
Command::getSynopsis public function Returns the synopsis for the command. 2
Command::getUsages public function Returns alternative usages of the command. 2
Command::ignoreValidationErrors public function Ignores validation errors. 2
Command::initialize protected function Initializes the command after the input has been bound and before the input
is validated.
4
Command::interact protected function Interacts with the user. 5
Command::INVALID public constant
Command::isEnabled public function Checks whether the command is enabled or not in the current environment. 2
Command::isHidden public function
Command::mergeApplicationDefinition public function Merges the application definition with the command definition. 2
Command::run public function Runs the command. 4
Command::setAliases public function Sets the aliases for the command.
Command::setApplication public function 2
Command::setCode public function Sets the code to execute when running this command. 2
Command::setDefinition public function Sets an array of argument and option instances. 2
Command::setDescription public function Sets the description for the command.
Command::setHelp public function Sets the help for the command. 2
Command::setHelperSet public function 2
Command::setHidden public function
Command::setName public function Sets the name of the command.
Command::setProcessTitle public function Sets the process title of the command. 2
Command::SUCCESS public constant
Command::validateName private function Validates a command name.
Command::__construct public function 15
QuickStartCommand::configure protected function Configures the current command. Overrides Command::configure
QuickStartCommand::execute protected function Executes the current command. Overrides Command::execute

API Navigation

  • Drupal Core 11.1.x
  • Topics
  • Classes
  • Functions
  • Constants
  • Globals
  • Files
  • Namespaces
  • Deprecated
  • Services
RSS feed
Powered by Drupal