GenerateKey
extends BaseCommand
in package
Generates a new encryption key.
Table of Contents
Properties
- $arguments : array<string, string>
- $commands : Commands
- $description : string
- $group : string
- $logger : LoggerInterface
- $name : string
- $options : array<string, string>
- $usage : string
- $arguments : array<string, string>
- the Command's Arguments description
- $commands : Commands
- Instance of Commands so commands can call other commands.
- $description : string
- The Command's short description.
- $group : string
- The Command's group.
- $logger : LoggerInterface
- The Logger to use for a command
- $name : string
- The Command's name.
- $options : array<string, string>
- The command's options
- $usage : string
- The Command's usage.
Methods
- __construct() : mixed
- __get() : array<string, string>|Commands|LoggerInterface|string|null
- Makes it simple to access our protected properties.
- __isset() : bool
- Makes it simple to check our protected properties.
- getPad() : int
- Get pad for $key => $value array output
- run() : int|void
- Actually execute the command.
- setPad() : string
- Pads our string out so that all titles are the same length to nicely line up descriptions.
- showHelp() : void
- Show Help includes (Usage, Arguments, Description, Options).
- call() : int|void
- Can be used by a command to run other commands.
- confirmOverwrite() : bool
- Checks whether to overwrite existing encryption key.
- generateRandomKey() : string
- Generates a key and encodes it.
- keyPattern() : string
- Get the regex of the current encryption key.
- setNewEncryptionKey() : bool
- Sets the new encryption key in your .env file.
- showError() : void
- A simple method to display an error with line/file, in child commands.
- writeNewEncryptionKeyToFile() : bool
- Writes the new encryption key to .env file.
Properties
$arguments
public
array<string, string>
$arguments
$commands
public
Commands
$commands
$description
public
string
$description
$group
public
string
$group
$logger
public
LoggerInterface
$logger
$name
public
string
$name
$options
public
array<string, string>
$options
$usage
public
string
$usage
$arguments
the Command's Arguments description
protected
array<string, string>
$arguments
= []
$commands
Instance of Commands so commands can call other commands.
protected
Commands
$commands
$description
The Command's short description.
protected
string
$description
= 'Generates a new encryption key and writes it in an `.env` file.'
$group
The Command's group.
protected
string
$group
= 'Encryption'
$logger
The Logger to use for a command
protected
LoggerInterface
$logger
$name
The Command's name.
protected
string
$name
= 'key:generate'
$options
The command's options
protected
array<string, string>
$options
= ['--force' => 'Force overwrite existing key in `.env` file.', '--length' => 'The length of the random string that should be returned in bytes. Defaults to 32.', '--prefix' => 'Prefix to prepend to encoded key (either hex2bin or base64). Defaults to hex2bin.', '--show' => 'Shows the generated key in the terminal instead of storing in the `.env` file.']
$usage
The Command's usage.
protected
string
$usage
= 'key:generate [options]'
Methods
__construct()
public
__construct(LoggerInterface $logger, Commands $commands) : mixed
Parameters
- $logger : LoggerInterface
- $commands : Commands
__get()
Makes it simple to access our protected properties.
public
__get(string $key) : array<string, string>|Commands|LoggerInterface|string|null
Parameters
- $key : string
Return values
array<string, string>|Commands|LoggerInterface|string|null__isset()
Makes it simple to check our protected properties.
public
__isset(string $key) : bool
Parameters
- $key : string
Return values
boolgetPad()
Get pad for $key => $value array output
public
getPad(array<string, string> $array, int $pad) : int
Use setPad() instead.
Parameters
- $array : array<string, string>
- $pad : int
Tags
Return values
intrun()
Actually execute the command.
public
run(array<string|int, mixed> $params) : int|void
Parameters
- $params : array<string|int, mixed>
Return values
int|voidsetPad()
Pads our string out so that all titles are the same length to nicely line up descriptions.
public
setPad(string $item, int $max[, int $extra = 2 ][, int $indent = 0 ]) : string
Parameters
- $item : string
- $max : int
- $extra : int = 2
-
How many extra spaces to add at the end
- $indent : int = 0
Return values
stringshowHelp()
Show Help includes (Usage, Arguments, Description, Options).
public
showHelp() : void
call()
Can be used by a command to run other commands.
protected
call(string $command[, array<int|string, string|null> $params = [] ]) : int|void
Parameters
- $command : string
- $params : array<int|string, string|null> = []
Tags
Return values
int|voidconfirmOverwrite()
Checks whether to overwrite existing encryption key.
protected
confirmOverwrite(array<int|string, string|null> $params) : bool
Parameters
- $params : array<int|string, string|null>
Return values
boolgenerateRandomKey()
Generates a key and encodes it.
protected
generateRandomKey(string $prefix, int $length) : string
Parameters
- $prefix : string
- $length : int
Return values
stringkeyPattern()
Get the regex of the current encryption key.
protected
keyPattern(string $oldKey) : string
Parameters
- $oldKey : string
Return values
stringsetNewEncryptionKey()
Sets the new encryption key in your .env file.
protected
setNewEncryptionKey(string $key, array<int|string, string|null> $params) : bool
Parameters
- $key : string
- $params : array<int|string, string|null>
Return values
boolshowError()
A simple method to display an error with line/file, in child commands.
protected
showError(Throwable $e) : void
Parameters
- $e : Throwable
writeNewEncryptionKeyToFile()
Writes the new encryption key to .env file.
protected
writeNewEncryptionKeyToFile(string $oldKey, string $newKey) : bool
Parameters
- $oldKey : string
- $newKey : string