File: tutorial_example_05_input_advanced.php

package info (click to toggle)
php-zeta-console-tools 1.7-1
  • links: PTS, VCS
  • area: main
  • in suites: jessie, jessie-kfreebsd
  • size: 3,096 kB
  • ctags: 2,859
  • sloc: php: 15,140; xml: 3,111; makefile: 11
file content (55 lines) | stat: -rw-r--r-- 1,133 bytes parent folder | download | duplicates (6)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
<?php

require_once 'tutorial_autoload.php';

$input = new ezcConsoleInput();

$helpOption = $input->registerOption( new ezcConsoleOption( 'h', 'help' ) );

$inputOption = $input->registerOption( 
    new ezcConsoleOption( 
        'i',
        'input',
        ezcConsoleInput::TYPE_STRING
    )
);

$outputOption = $input->registerOption(
    new ezcConsoleOption( 
        'o',
        'output'
    )
);
$outputOption->type = ezcConsoleInput::TYPE_STRING;

$inputOption->addDependency( 
    new ezcConsoleOptionRule( $outputOption )
);
$outputOption->addDependency( 
    new ezcConsoleOptionRule( $inputOption )
);

try
{
    $input->process();
}
catch ( ezcConsoleOptionException $e )
{
    die( $e->getMessage() );
}

if ( $helpOption->value === true )
{
    echo $input->getSynopsis() . "\n";
    foreach ( $input->getOptions() as $option )
    {
        echo "-{$option->short}/{$option->long}: {$option->shorthelp}\n";
    }
}
elseif ( $outputOption->value !== false )
{
    echo "Input: {$inputOption->value}, Output: {$outputOption->value}\n";
    echo "Arguments: " . implode( ", ", $input->getArguments() ) . "\n";
}

?>