Commandline

Commandline objects help handling command lines specifying processes to execute.

The class can be used to define a command line as nested elements or as a helper to define a command line by an application.

<

p> <someelement>
  <acommandline executable="/executable/to/run">
    <argument value="argument 1" />
    <argument line="argument_1 argument_2 argument_3" />
    <argument value="argument 4" />
  </acommandline>
</someelement>
The element someelement must provide a method createAcommandline which returns an instance of this class.

author

thomas.haas@softwired-inc.com

author

Stefan Bodewig

package

phing.types

Methods

__construct

__construct($to_process = null) 

Arguments

$to_process

Creates an argument object and adds it to our list of args.

createArgument(boolean $insertAtStart = false) : \CommandlineArgument

Each commandline object has at most one instance of the argument class.

Arguments

$insertAtStart

boolean

if true, the argument is inserted at the beginning of the list of args, otherwise it is appended.

Response

\CommandlineArgument

Sets the executable to run.

setExecutable($executable) 

Arguments

$executable

getExecutable

getExecutable() 

addArguments

addArguments($line) 

Arguments

$line

Returns the executable and all defined arguments.

getCommandline() : array

Response

array

Returns all arguments defined by <code>addLine</code>, <code>addValue</code> or the argument object.

getArguments() 

__toString

__toString() 

Put quotes around the given String if necessary.

quoteArgument($argument, $escape = false) 
static

If the argument doesn't include spaces or quotes, return it as is. If it contains double quotes, use single quotes - else surround the argument by double quotes.

exception

BuildException if the argument contains both, single and double quotes.

Arguments

$argument

$escape

Quotes the parts of the given array in way that makes them usable as command line arguments.

toString($lines, $escape = false) 
static

Arguments

$lines

$escape

translateCommandline

translateCommandline(string $to_process) : array
static

Arguments

$to_process

string

Response

array

size

size() : int

Response

int

Number of components in current commandline.

__copy

__copy() 

Clear out the whole command line.

clear() 

Clear out the arguments but leave the executable in place for another operation.

clearArgs() 

Return a marker.

createMarker() : \CommandlineMarker

This marker can be used to locate a position on the commandline - to insert something for example - when all parameters have been set.

Response

\CommandlineMarker

Returns a String that describes the command and arguments suitable for verbose output before a call to <code>Runtime.exec(String[])</code>.

describeCommand(array $args = null) : string

This method assumes that the first entry in the array is the executable to run.

Arguments

$args

array

CommandlineArgument[] to use

Response

string

Returns a String that describes the arguments suitable for verbose output before a call to <code>Runtime.exec(String[])</code>

describeArguments(mixed $args = null, mixed $offset) : string

Arguments

$args

mixed

arguments to use (default is to use current class args)

$offset

mixed

ignore entries before this index

Response

string

Constants

DISCLAIMER

DISCLAIMER

Properties

CommandlineArguments[]

arguments : array
var

CommandlineArguments[]

Type(s)

array

Full path (if not on %PATH% env var) to executable program.

executable : string
var

Type(s)

string