CommandTrait
Tags
Table of Contents
Properties
- $commandOptions : CommandOptions|null
- The global command options.
Methods
- exec() : string
- Executes a shell command with optional sudo/user context and silent mode and returns the output of the command.
- proc() : Process
- Executes a shell command using proc_open, capturing stdout, stderr, and the exit status.
- system() : int
- Executes a shell command with optional sudo/user context and silent mode.
- initializeCommandOptions() : static
- Initialize the global command options.
Properties
$commandOptions
The global command options.
public
CommandOptions|null
$commandOptions
= null
Methods
exec()
Executes a shell command with optional sudo/user context and silent mode and returns the output of the command.
public
exec(null|array<string|int, mixed>|string $command[, null|array<string|int, mixed>|string $args = null ][, CommandOptions|null $options = null ][, bool $silent = false ][, bool $verbose = false ][, string|null $previous = null ][, string|null $post = null ][, bool $sudo = false ][, bool $dryRun = false ]) : string
Parameters
- $command : null|array<string|int, mixed>|string
-
The base shell command to execute (e.g. "wp plugin install").
- $args : null|array<string|int, mixed>|string = null
-
Optional additional arguments appended to the command, a string or an array of arguments.
- $options : CommandOptions|null = null
-
Whether to prefix the command with
sudo
. Defaults to$this->sudo
. - $silent : bool = false
-
Whether to suppress the command's output.
- $verbose : bool = false
-
Verbose the error message.
- $previous : string|null = null
-
The previous command to append.
- $post : string|null = null
-
The post command to append at the end.
- $sudo : bool = false
-
If true, the command is automatically prefixed with
sudo
to run with elevated privileges. - $dryRun : bool = false
-
If true, simulates the execution without actually running the command. Always returns 0.
Tags
Return values
string —The output of the command.
proc()
Executes a shell command using proc_open, capturing stdout, stderr, and the exit status.
public
proc(null|array<string|int, mixed>|string $command[, null|array<string|int, mixed>|string $args = null ][, CommandOptions|null $options = null ][, bool $verbose = false ][, string|null $previous = null ][, string|null $post = null ][, bool $sudo = false ][, bool $dryRun = false ]) : Process
This method builds a full command from the base command, optional arguments, and optional sudo/user context. It provides full control over the execution environment and captures both standard output and error output separately.
Parameters
- $command : null|array<string|int, mixed>|string
-
The base shell command to execute (e.g. "wp plugin list").
- $args : null|array<string|int, mixed>|string = null
-
Optional arguments to pass to the command. Can be a string or array.
- $options : CommandOptions|null = null
-
Optional command options, such as sudo or user context.
- $verbose : bool = false
-
Whether to display the full command before execution.
- $previous : string|null = null
-
The previous command to append.
- $post : string|null = null
-
The post command to append at the end.
- $sudo : bool = false
-
If true, the command is automatically prefixed with
sudo
to run with elevated privileges. - $dryRun : bool = false
-
If true, simulates the execution without actually running the command. Always returns 0.
Tags
Return values
Processsystem()
Executes a shell command with optional sudo/user context and silent mode.
public
system(null|array<string|int, mixed>|string $command[, null|array<string|int, mixed>|string $args = null ][, null|array<string|int, mixed>|CommandOptions $options = null ][, bool $silent = false ][, bool $verbose = false ][, string|null $previous = null ][, string|null $post = null ][, bool $sudo = false ][, bool $dryRun = false ]) : int
This method builds and executes a shell command string, optionally prefixed with sudo -u <user>
.
It can suppress output using the makeSilent()
method and throws an exception on failure.
Parameters
- $command : null|array<string|int, mixed>|string
-
The base shell command to execute (e.g. "wp plugin install").
- $args : null|array<string|int, mixed>|string = null
-
Optional additional arguments appended to the command, a string or an array of arguments.
- $options : null|array<string|int, mixed>|CommandOptions = null
-
Whether to prefix the command with
sudo
. Defaults to$this->sudo
. - $silent : bool = false
-
Whether to suppress the command's output.
- $verbose : bool = false
-
Verbose the error message.
- $previous : string|null = null
-
Optional command to prepend (e.g.,
cd /path &&
). - $post : string|null = null
-
Optional command to append after execution (e.g.,
; echo done
). - $sudo : bool = false
-
If true, the command is automatically prefixed with
sudo
to run with elevated privileges. - $dryRun : bool = false
-
If true, simulates the execution without actually running the command. Always returns 0.
Tags
Return values
int —The result code of the command (0 if successful).
initializeCommandOptions()
Initialize the global command options.
protected
initializeCommandOptions([array<string|int, mixed> $init = [] ]) : static
Parameters
- $init : array<string|int, mixed> = []