Modules

CLI
extends Kohana_CLI

Helper functions for working in a command-line environment.

package
Kohana
category
Helpers
author
Kohana Team
copyright
© 2009-2012 Kohana Team
license
http://kohanaframework.org/license

Class declared in SYSPATH/classes/cli.php on line 3.

Constants

  • None

Properties

  • None

Methods

Methods

public static options( ) (defined in Kohana_CLI)

Returns one or more command-line options. Options are specified using standard CLI syntax:

php index.php --username=john.smith --password=secret --var="some value with spaces"

// Get the values of "username" and "password"
$auth = CLI::options('username', 'password');

Return Values

  • array

Source Code

public static function options()
{
	// Get all of the requested options
	$options = func_get_args();

	// Found option values
	$values = array();

	// Skip the first option, it is always the file executed
	for ($i = 1; $i < $_SERVER['argc']; $i++)
	{
		if ( ! isset($_SERVER['argv'][$i]))
		{
			// No more args left
			break;
		}

		// Get the option
		$opt = $_SERVER['argv'][$i];

		if (substr($opt, 0, 2) !== '--')
		{
			// This is not an option argument
			continue;
		}

		// Remove the "--" prefix
		$opt = substr($opt, 2);

		if (strpos($opt, '='))
		{
			// Separate the name and value
			list ($opt, $value) = explode('=', $opt, 2);
		}
		else
		{
			$value = NULL;
		}

		if (in_array($opt, $options))
		{
			// Set the given value
			$values[$opt] = $value;
		}
	}

	return $values;
}