php:Console_CommandLine

http://blog.asial.co.jp/424 参考。

hdknr@debiansept:~/php$ sudo apt-get install php-pear

hdknr@debiansept:~/php$ sudo pear install Console_CommandLine

hdknr@debiansept:~/php$ vi print.php

<?php
require_once 'Console/CommandLine.php';

$parser = new Console_CommandLine(array(
                'description'   => 'Data Printer',
                'version'       => '0.0.0.1'
                ));

$parser->addOption('file',array(
        'short_name'    => '-f',
        'long_name'     => '--file',
        'action'        => 'StoreString',
        'help_name'     => 'path name to file',
        'description'   => 'File to print'
        ));

try{
    $result =$parser->parse();
    print_r($result->options);
    print_r($result->args);
}catch(Exception $e){
    $parser->displayError($e->getMessage());
}
?>

hdknr@debiansept:~/php$ php print.php
Array
(
    [file] =>
    [help] =>
    [version] =>
)
Array
(
)

hdknr@debiansept:~/php$ php print.php  -h
Data Printer

Usage:
  print.php [options]

Options:
  -f path name to file, –file=path name to file  File to print
  -h, –help                                      show this help message
                                                  and exit
  -v, –version                                   show the program version
                                                  and exit

hdknr@debiansept:~/php$ php print.php -f
Error: Option "file" requires a value.
Type "print.php -h" to get help.

hdknr@debiansept:~/php$ php print.php -f /tmp/authreq.txt
Array
(
    [file] => /tmp/authreq.txt
    [help] =>
    [version] =>
)
Array
(
)

hdknr@debiansept:~/php$ vi print.php

<?php
require_once 'Console/CommandLine.php';

$parser = new Console_CommandLine(array(
                'description'   => 'Data Printer',
                'version'       => '0.0.0.1'
                ));

$parser->addOption('file',array(
        'short_name'    => '-f',
        'long_name'     => '--file',
        'action'        => 'StoreString',
        'help_name'     => 'path name to file',
        'description'   => 'File to print'
        ));

$parser->addArgument('notes',array(
        'multiple'      => true,
        'description'   => 'some notes to add'
        ));

try{
    $result =$parser->parse();
    print_r($result->options);
    print_r($result->args);
}catch(Exception $e){
    $parser->displayError($e->getMessage());
}
?>

hdknr@debiansept:~/php$ php print.php  -f /tmp/authres.txt test1 test2 test3
Array
(
    [file] => /tmp/authres.txt
    [help] =>
    [version] =>
)
Array
(
    [notes] => Array
        (
            [0] => test1
            [1] => test2
            [2] => test3
        )

)

カテゴリー: 未分類 パーマリンク

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中