2013-07-24 114 views
19

我不太確定這個術語在什麼層次上存在,但是在php-framework Laravel中有一個名爲Artisan的命令行工具,用於創建cronjobs。 (又名命令)當你創建一個命令。您可以指定參數和選項,如下所示:參數和選項有什麼區別?

/** 
* Get the console command arguments. 
* 
* @return array 
*/ 
protected function getArguments() 
{ 
    return array(
     array('example', InputArgument::REQUIRED, 'An example argument.'), 
    ); 
} 

/** 
    * Get the console command options. 
    * 
    * @return array 
    */ 
    protected function getOptions() 
    { 
     return array(
      array('example', null, InputOption::VALUE_OPTIONAL, 'An example option.', null), 
     ); 
    } 

兩者之間的區別是什麼?

+0

哈哈我剛剛讀了我自己的舊問題,比如「論據和觀點之間有什麼區別」。確實是哲學。 – Himmators

回答

22

看看在artisan migrate:make幫助:

Usage: 
migrate:make [--bench[="..."]] [--create] [--package[="..."]] [--path[="..."]] [--table[="..."]] name 

Arguments: 
name     The name of the migration 

Options: 
--bench    The workbench the migration belongs to. 
--create    The table needs to be created. 
--package    The package the migration belongs to. 
--path    Where to store the migration. 
--table    The table to migrate. 
--help (-h)   Display this help message. 
--quiet (-q)   Do not output any message. 
--verbose (-v|vv|vvv) Increase the verbosity of messages: 1 for normal output, 2 for more verbose output and 3 for debug 
--version (-V)  Display this application version. 
--ansi    Force ANSI output. 
--no-ansi    Disable ANSI output. 
--no-interaction (-n) Do not ask any interactive question. 
--env     The environment the command should run under. 

的參數是你通常需要提供至少一個,在這種情況下,你需要提供遷移名稱或命令將引發錯誤的東西。

選項顯然是可選的,用來修改命令行爲。

相關問題