本文整理汇总了PHP中Cli::set_option方法的典型用法代码示例。如果您正苦于以下问题:PHP Cli::set_option方法的具体用法?PHP Cli::set_option怎么用?PHP Cli::set_option使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Cli
的用法示例。
在下文中一共展示了Cli::set_option方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: arguments
/**
* Construct the argument list
*
* @param string $table name of the database table we need to create the list for
* @return array
*/
protected static function arguments($table)
{
// get the list of columns from the table
try {
$columns = \DB::list_columns(trim($table), null, \Cli::option('db', null));
} catch (\Exception $e) {
\Cli::write($e->getMessage(), 'red');
exit;
}
// construct the arguments list, starting with the table name
$arguments = array($table);
// set some switches
$include_timestamps = false;
$timestamp_is_int = true;
// process the columns found
foreach ($columns as $column) {
// do we have a data_type defined? If not, use the generic type
isset($column['data_type']) or $column['data_type'] = $column['type'];
// skip the 'id' column, it will be added automatically
if ($column['name'] == 'id') {
continue;
}
// detect timestamp columns
if (in_array($column['name'], array('created_at', 'updated_at'))) {
$include_timestamps = true;
$timestamp_is_int = $column['data_type'] == 'int';
continue;
}
// do we need to add constraints?
$constraint = '';
foreach (array('length', 'character_maximum_length', 'display') as $idx) {
// check if we have such a column, and filter out some default values
if (isset($column[$idx]) and !in_array($column[$idx], array('65535', '4294967295'))) {
$constraint = '[' . $column[$idx] . ']';
break;
}
}
// if it's an enum column, list the available options
if (in_array($column['data_type'], array('set', 'enum'))) {
$constraint = '[' . implode(',', $column['options']) . ']';
}
// store the column in the argument list
$arguments[] = $column['name'] . ':' . $column['data_type'] . $constraint;
}
// set the switches for the code generation
\Cli::set_option('no-timestamp', $include_timestamps === false);
\Cli::set_option('mysql-timestamp', $timestamp_is_int === false);
// return the generated argument list
return $arguments;
}
示例2: fromconfig
/**
* Generate documentation from config
*
* Usage (from command line):
*
* php oil r dbdocs:fromconfig
*
* @param $dir Documentation directory
* @param $name Name of config
*/
public static function fromconfig($dir = null, $name = null)
{
if ($dir === null) {
static::help();
exit;
}
\Config::load('dbdocsconnections', true);
$connections = \Config::get('dbdocsconnections', array());
if (empty($connections)) {
\Cli::write('Configuration is empty.', 'red');
} else {
if ($name === null) {
$name = trim(\Cli::prompt("Enter a name.\n", array_keys($connections)));
} else {
if (!isset($connections[$name])) {
\Cli::write("Not Found configuration \"{$name}\"", 'red');
exit;
}
}
\Cli::set_option('n', true);
foreach ($connections[$name] as $k => $v) {
if (!empty($k) and $k != 'driver') {
\Cli::set_option($k, $v);
}
}
switch ($connections[$name]['driver']) {
case 'pdo_mysql':
static::mysql($dir);
break;
case 'pdo_pgsql':
static::pgsql($dir);
break;
case 'pdo_sqlite':
static::sqlite($dir);
break;
case 'pdo_sqlsrv':
static::mssql($dir);
break;
}
}
}