3

CakePHP 2 シェルスクリプトで引数を受け取る方法の簡単で具体的な例が見つからないようです。

    class TestShell extends AppShell {
        public function argumentTest(){
            $parser = parent::getOptionParser();
            $parser->addArgument('testArgument', array('short' => 't','help' => 'The test argument'));
            var_dump($this->params);
        }
    }

私はそれを試してみます:

  • コンソール/ケーキ TestShell 引数Test --t 45

  • コンソール/ケーキ TestShell 引数Test -t 45

  • コンソール/ケーキ TestShell 引数Test --testArgument 45

  • コンソール/ケーキ TestShell 引数Test -testArgument 45

上記のすべてで、これを応答として取得します。

Usage:
cake lot_web_service [-h] [-v] [-q]

私は何を間違っていますか?

4

1 に答える 1

5

オプション パーサーを設定するときに、引数を設定する必要があります。

public function getOptionParser() {
    $parser = parent::getOptionParser();
    //configure parser
    return $parser;
}

これにより、コールをディスパッチする前にオプションと引数が設定されます。また、それがどのように見えるかから、addOption()代わりにaddArgument().

于 2012-04-16T17:13:01.430 に答える