Advertisements

get_cli_args

Definition:
function get_cli_args( $param, $required = false ) {}

Returns value of command line params.
Exits when a required param is not set.

Parameters

  • string $param
  • bool $required

Source code

function get_cli_args( $param, $required = false ) {

	$args = $_SERVER['argv'];



	$out = array();



	$last_arg = null;

	$return = null;



	$il = sizeof( $args );



	for ( $i = 1, $il; $i < $il; $i++ ) {

		if ( (bool) preg_match( "/^--(.+)/", $args[$i], $match ) ) {

			$parts = explode( "=", $match[1] );

			$key = preg_replace( "/[^a-z0-9]+/", "", $parts[0] );



			if ( isset( $parts[1] ) ) {

				$out[$key] = $parts[1];

			} else {

				$out[$key] = true;

			}



			$last_arg = $key;

		} else if ( (bool) preg_match( "/^-([a-zA-Z0-9]+)/", $args[$i], $match ) ) {

			for ( $j = 0, $jl = strlen( $match[1] ); $j < $jl; $j++ ) {

				$key = $match[1]{$j};

				$out[$key] = true;

			}



			$last_arg = $key;

		} else if ( $last_arg !== null ) {

			$out[$last_arg] = $args[$i];

		}

	}



	// Check array for specified param

	if ( isset( $out[$param] ) ) {

		// Set return value

		$return = $out[$param];

	}



	// Check for missing required param

	if ( !isset( $out[$param] ) && $required ) {

		// Display message and exit

		echo "\"$param\" parameter is required but was not specified\n";

		exit();

	}



	return $return;

}

1272

Advertisements

No comments yet... Be the first to leave a reply!

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )

Connecting to %s

%d bloggers like this: