October\Rain\Installer\Console\OctoberInstall
Overview
OctoberInstall is a console command to install October CMS
This sets up October for the first time. It will prompt the user for several configuration items, including application URL and database config, and then perform a database migration.
Extends
- Illuminate\Console\Command
- Symfony\Component\Console\Command\Command
Implements
- Symfony\Component\Console\Command\SignalableCommandInterface
Protected Properties
protected string $name
name is the console command name
protected string $description
description is the console command description
protected int $keyRetries
keyRetries counts license key attempts before giving up
protected array $userConfig
userConfig is a temporary store of user input config values
Show inherited protected properties
Inherited Protected Properties
- $laravel - The Laravel application instance. (defined in Illuminate\Console\Command)
- $signature - The name and signature of the console command. (defined in Illuminate\Console\Command)
- $help - The console command help text. (defined in Illuminate\Console\Command)
- $hidden - Indicates whether the command should be shown in the Artisan command list. (defined in Illuminate\Console\Command)
- $isolated - Indicates whether only one instance of the command can run at any given time. (defined in Illuminate\Console\Command)
- $isolatedExitCode - The default exit code for isolated commands. (defined in Illuminate\Console\Command)
- $aliases - The console command name aliases. (defined in Illuminate\Console\Command)
- $components - The console components factory. (defined in Illuminate\Console\Command)
- $input - The input interface implementation. (defined in Illuminate\Console\Command)
- $output - The output interface implementation. (defined in Illuminate\Console\Command)
- $verbosity - The default verbosity of output commands. (defined in Illuminate\Console\Command)
- $verbosityMap - The mapping between human-readable verbosity levels and Symfony's OutputInterface. (defined in Illuminate\Console\Command)
- $signals - The signal registrar instance. (defined in Illuminate\Console\Command)
- $macros - The registered string macros. (defined in Illuminate\Console\Command)
Public Methods
public getAvailableLocales()
public getAvailableLocales(): void
getAvailableLocales returns available system locales
public getLang()
public getLang($key, $vars = []): void
public getUpdateWantVersion()
public getUpdateWantVersion(): void
public handle()
public handle(): void
handle executes the console command
Inherited Public Methods
- __call() - Dynamically handle calls to the class. (defined in Illuminate\Console\Command)
- __callStatic() - Dynamically handle calls to the class. (defined in Illuminate\Console\Command)
- __construct() - Create a new console command instance. (defined in Illuminate\Console\Command)
- addArgument() - Adds an argument. (defined in Symfony\Component\Console\Command\Command)
- addOption() - Adds an option. (defined in Symfony\Component\Console\Command\Command)
- addUsage() - Add a command usage example, it'll be prefixed with the command name. (defined in Symfony\Component\Console\Command\Command)
- alert() - Write a string in an alert box. (defined in Illuminate\Console\Command)
- anticipate() - Prompt the user for input with auto completion. (defined in Illuminate\Console\Command)
- argument() - Get the value of a command argument. (defined in Illuminate\Console\Command)
- arguments() - Get all of the arguments passed to the command. (defined in Illuminate\Console\Command)
- ask() - Prompt the user for input. (defined in Illuminate\Console\Command)
- askWithCompletion() - Prompt the user for input with auto completion. (defined in Illuminate\Console\Command)
- call() - Call another console command. (defined in Illuminate\Console\Command)
- callSilent() - Call another console command without output. (defined in Illuminate\Console\Command)
- callSilently() - Call another console command without output. (defined in Illuminate\Console\Command)
- choice() - Give the user a single choice from an array of answers. (defined in Illuminate\Console\Command)
- comment() - Write a string as comment output. (defined in Illuminate\Console\Command)
- complete() - Supplies suggestions when resolving possible completion options for input (e.g. option or argument). (defined in Symfony\Component\Console\Command\Command)
- confirm() - Confirm a question with the user. (defined in Illuminate\Console\Command)
- error() - Write a string as error output. (defined in Illuminate\Console\Command)
- fail() - Fail the command manually. (defined in Illuminate\Console\Command)
- flushMacros() - Flush the existing macros. (defined in Illuminate\Console\Command)
- getAliases() - Returns the aliases for the command. (defined in Symfony\Component\Console\Command\Command)
- getApplication() - Gets the application instance for this command. (defined in Symfony\Component\Console\Command\Command)
- getCode() - Gets the code that is executed by the command. (defined in Symfony\Component\Console\Command\Command)
- getDefinition() - Gets the InputDefinition attached to this Command. (defined in Symfony\Component\Console\Command\Command)
- getDescription() - Returns the description for the command. (defined in Symfony\Component\Console\Command\Command)
- getHelp() - Returns the help for the command. (defined in Symfony\Component\Console\Command\Command)
- getHelper() - Gets a helper instance by name. (defined in Symfony\Component\Console\Command\Command)
- getHelperSet() - Gets the helper set. (defined in Symfony\Component\Console\Command\Command)
- getLaravel() - Get the Laravel application instance. (defined in Illuminate\Console\Command)
- getName() - Returns the command name. (defined in Symfony\Component\Console\Command\Command)
- getNativeDefinition() - Gets the InputDefinition to be used to create representations of this Command. (defined in Symfony\Component\Console\Command\Command)
- getOutput() - Get the output implementation. (defined in Illuminate\Console\Command)
- getProcessedHelp() - Returns the processed help for the command replacing the %command.name% and. (defined in Symfony\Component\Console\Command\Command)
- getSubscribedSignals() - (defined in Symfony\Component\Console\Command\Command)
- getSynopsis() - Returns the synopsis for the command. (defined in Symfony\Component\Console\Command\Command)
- getUsages() - Returns alternative usages of the command. (defined in Symfony\Component\Console\Command\Command)
- handleSignal() - (defined in Symfony\Component\Console\Command\Command)
- hasArgument() - Determine if the given argument is present. (defined in Illuminate\Console\Command)
- hasMacro() - Checks if macro is registered. (defined in Illuminate\Console\Command)
- hasOption() - Determine whether the option is defined in the command signature. (defined in Illuminate\Console\Command)
- ignoreValidationErrors() - Ignores validation errors. (defined in Symfony\Component\Console\Command\Command)
- info() - Write a string as information output. (defined in Illuminate\Console\Command)
- input() - Retrieve the command's input as a CommandInput instance or retrieve an input item. (defined in Illuminate\Console\Command)
- isEnabled() - Checks whether the command is enabled or not in the current environment. (defined in Symfony\Component\Console\Command\Command)
- isHidden() - {@inheritdoc}. (defined in Illuminate\Console\Command)
- line() - Write a string as standard output. (defined in Illuminate\Console\Command)
- macro() - Register a custom macro. (defined in Illuminate\Console\Command)
- mergeApplicationDefinition() - Merges the application definition with the command definition. (defined in Symfony\Component\Console\Command\Command)
- mixin() - Mix another object into the class. (defined in Illuminate\Console\Command)
- newLine() - Write a blank line. (defined in Illuminate\Console\Command)
- option() - Get the value of a command option. (defined in Illuminate\Console\Command)
- options() - Get all of the options passed to the command. (defined in Illuminate\Console\Command)
- outputComponents() - Get the output component factory implementation. (defined in Illuminate\Console\Command)
- question() - Write a string as question output. (defined in Illuminate\Console\Command)
- run() - Run the console command. (defined in Illuminate\Console\Command)
- secret() - Prompt the user for input but hide the answer from the console. (defined in Illuminate\Console\Command)
- setAliases() - Sets the aliases for the command. (defined in Symfony\Component\Console\Command\Command)
- setApplication() - (defined in Symfony\Component\Console\Command\Command)
- setCode() - Sets the code to execute when running this command. (defined in Symfony\Component\Console\Command\Command)
- setDefinition() - Sets an array of argument and option instances. (defined in Symfony\Component\Console\Command\Command)
- setDescription() - Sets the description for the command. (defined in Symfony\Component\Console\Command\Command)
- setHelp() - Sets the help for the command. (defined in Symfony\Component\Console\Command\Command)
- setHelperSet() - (defined in Symfony\Component\Console\Command\Command)
- setHidden() - {@inheritdoc}. (defined in Illuminate\Console\Command)
- setInput() - Set the input interface implementation. (defined in Illuminate\Console\Command)
- setLaravel() - Set the Laravel application instance. (defined in Illuminate\Console\Command)
- setName() - Sets the name of the command. (defined in Symfony\Component\Console\Command\Command)
- setOutput() - Set the output interface implementation. (defined in Illuminate\Console\Command)
- setProcessTitle() - Sets the process title of the command. (defined in Symfony\Component\Console\Command\Command)
- table() - Format input to textual table. (defined in Illuminate\Console\Command)
- trap() - Define a callback to be run when the given signal(s) occurs. (defined in Illuminate\Console\Command)
- untrap() - Untrap signal handlers set within the command's handler. (defined in Illuminate\Console\Command)
- warn() - Write a string as warning output. (defined in Illuminate\Console\Command)
- withProgressBar() - Execute a given callback while advancing a progress bar. (defined in Illuminate\Console\Command)
Protected Methods
protected addModulesToGitignore()
protected addModulesToGitignore($gitignore): void
protected checkDatabase()
protected checkDatabase($type, $host, $port, $name, $user, $pass): void
checkDatabase validates the supplied database configuration
protected checkDatabaseFromConfig()
protected checkDatabaseFromConfig($driver): void
checkDatabaseFromConfig validates the supplied database config and throws an exception if something is wrong
protected checkEnvWritable()
protected checkEnvWritable(): void
checkEnvWritable checks to see if the app can write to the .env file
protected checkSqliteFile()
protected checkSqliteFile($filename): void
validateSqliteFile will establish the SQLite engine
protected composerRequireCore()
protected composerRequireCore($composer, $want = null): void
composerRequireString returns the composer require string for installing dependencies
protected encodeEnvVar()
protected encodeEnvVar($value): void
encodeEnvVar for compatibility with certain characters
protected getComposerUrl()
protected getComposerUrl($withProtocol = true): string
getComposerUrl returns the endpoint for composer
protected getEnvVar()
protected getEnvVar($key, $default = null): void
getEnvVar specifically from installer specified values. This is needed since the writing to the environment file may not update the values from env()
protected getKeyLength()
protected getKeyLength($cipher): int
getKeyLength returns the supported length of a key for a cipher
protected getOptions()
protected getOptions(): void
getOptions get the console command options
protected getRandomKey()
protected getRandomKey(): string
getRandomKey generates a random application key
protected handleNonInteractive()
protected handleNonInteractive(): void
handleNonInteractive processes the install without any prompts
protected injectJsonToFile()
protected injectJsonToFile($filename, $jsonArr, $merge = false): void
injectJsonToFile merges a JSON array in to an existing JSON file. Merging is useful for preserving array values.
protected mergeRecursive()
protected mergeRecursive($array1, $array2): void
mergeRecursive substitutes the native PHP array_merge_recursive to be more config friendly. Scalar values are replaced instead of being merged in to their own new array.
protected outputFailedOutro()
protected outputFailedOutro(): void
outputFailedOutro displays the failure message
protected outputIntro()
protected outputIntro(): void
outputIntro displays the introduction output
protected outputLanguageTable()
protected outputLanguageTable(): void
outputLanguageTable displays a 2 column table with the available locales
protected outputNonInteractive()
protected outputNonInteractive(): void
outputNonInteractive displays fallback commands for non-interactive environments
protected outputOutro()
protected outputOutro(): void
outputOutro displays the credits output
protected processWantString()
protected processWantString($version): void
processWantString ensures a valid want version is supplied
protected refreshEnvVars()
protected refreshEnvVars(): void
refreshEnvVars will reload defined environment variables
protected setComposerAuth()
protected setComposerAuth($email, $projectKey): void
setComposerAuth configures authentication for composer and October CMS
protected setDemoContent()
protected setDemoContent($confirm = true): void
setDemoContent instructs the system to install demo content or not
protected setEnvVar()
protected setEnvVar($key, $value): void
setEnvVar writes an environment variable to disk
protected setEnvVars()
protected setEnvVars($vars): void
setEnvVars sets multiple environment variables
protected setupApplicationUrls()
protected setupApplicationUrls(): void
setupApplicationUrls asks for URL based configuration
protected setupDatabase()
protected setupDatabase($driver): void
setupDatabase sets up a SQL based database
protected setupDatabaseConfig()
protected setupDatabaseConfig(): void
setupDatabaseConfig requests the database engine
protected setupDatabaseSqlite()
protected setupDatabaseSqlite(): void
setupDatabaseSqlite sets up the SQLite database engine
protected setupDemoTheme()
protected setupDemoTheme(): void
protected setupEncryptionKey()
protected setupEncryptionKey(): void
setupEncryptionKey sets the application encryption key if not set already
protected setupInstallOctober()
protected setupInstallOctober(): void
setupInstallOctober installs October CMS using composer
protected setupLanguage()
protected setupLanguage(): void
setupLanguage asks the user their language preference
protected setupLicenseKey()
protected setupLicenseKey(): void
setupLicenseKey asks for the license key
protected setupMigrateDatabase()
protected setupMigrateDatabase(): void
setupMigrateDatabase migrates the database
protected setupSetProject()
protected setupSetProject($licenseKey): void
Show inherited protected methods
Inherited Protected Methods
- afterPromptingForMissingArguments() - Perform actions after the user was prompted for missing arguments. (defined in Illuminate\Console\Command)
- commandIsolationMutex() - Get a command isolation mutex instance for the command. (defined in Illuminate\Console\Command)
- configure() - Configures the current command. (defined in Symfony\Component\Console\Command\Command)
- configureDefaults() - Configure argument/option defaults that can't be expressed as static signature. (defined in Illuminate\Console\Command)
- configureFromAttributes() - Configure the command from class attributes. (defined in Illuminate\Console\Command)
- configureIsolation() - Configure the console command for isolation. (defined in Illuminate\Console\Command)
- configurePrompts() - Configure the prompt fallbacks. (defined in Illuminate\Console\Command)
- configureUsageFromAttribute() - Configure usage examples for the command from class attributes. (defined in Illuminate\Console\Command)
- configureUsingFluentDefinition() - Configure the console command using a fluent definition. (defined in Illuminate\Console\Command)
- context() - Get all of the context passed to the command. (defined in Illuminate\Console\Command)
- createInputFromArguments() - Create an input instance from the given arguments. (defined in Illuminate\Console\Command)
- didReceiveOptions() - Whether the input contains any options that differ from the default values. (defined in Illuminate\Console\Command)
- execute() - Execute the console command. (defined in Illuminate\Console\Command)
- getArguments() - Get the console command arguments. (defined in Illuminate\Console\Command)
- getPromptValidatorInstance() - Get the validator instance that should be used to validate prompts. (defined in Illuminate\Console\Command)
- initialize() - Initializes the command after the input has been bound and before the input. (defined in Symfony\Component\Console\Command\Command)
- interact() - Interact with the user before validating the input. (defined in Illuminate\Console\Command)
- parseVerbosity() - Get the verbosity level in terms of Symfony's OutputInterface level. (defined in Illuminate\Console\Command)
- promptForMissingArguments() - Prompt the user for any missing arguments. (defined in Illuminate\Console\Command)
- promptForMissingArgumentsUsing() - Prompt for missing input arguments using the returned questions. (defined in Illuminate\Console\Command)
- promptUntilValid() - Prompt the user until the given validation callback passes. (defined in Illuminate\Console\Command)
- resolveCommand() - Resolve the console command instance for the given command. (defined in Illuminate\Console\Command)
- restorePrompts() - Restore the prompts output. (defined in Illuminate\Console\Command)
- runCommand() - Run the given console command. (defined in Illuminate\Console\Command)
- setVerbosity() - Set the verbosity level. (defined in Illuminate\Console\Command)
- specifyParameters() - Specify the arguments and options on the command. (defined in Illuminate\Console\Command)
- validatePrompt() - Validate the given prompt value using the validator. (defined in Illuminate\Console\Command)
- validationAttributes() - Get the validation attributes that should be used during prompt validation. (defined in Illuminate\Console\Command)
- validationMessages() - Get the validation messages that should be used during prompt validation. (defined in Illuminate\Console\Command)