Login   Register  
PHP Classes
elePHPant
Icontem

File: test_read_arguments.php

Recommend this page to a friend!
Stumble It! Stumble It! Bookmark in del.icio.us Bookmark in del.icio.us
  Classes of Manuel Lemos  >  Read arguments  >  test_read_arguments.php  >  Download  
File: test_read_arguments.php
Role: Example script
Content type: text/plain
Description: Example script
Class: Read arguments
Read and validate shell command line arguments
Author: By
Last change:
Date: 2010-09-30 01:00
Size: 1,717 bytes
 

Contents

Class file image Download
<?php
/*
 * read_arguments.php
 *
 * @(#) $Id: test_read_arguments.php,v 1.1 2010/09/30 07:57:44 mlemos Exp $
 *
 */

    
require('read_arguments.php');

    
/*
     *  Create an object to read the arguments
     */
    
$arguments = new read_arguments_class;

    
/*
     *  Define an option to show the command usage help
     */
    
$arguments->AddOption(array(
        
'Name'=>'help',
        
'Type'=>'usage',
        
'Description'=>'usage help',
        
'Keyword'=>'-h',
        
'Aliases'=>array('--help')
    ));

    
/*
     *  Define a switch option to turn on a value
     */
    
$arguments->AddOption(array(
        
'Name'=>'debug',
        
'Type'=>'switch',
        
'Description'=>'output debug information',
        
'Keyword'=>'-d',
        
'Aliases'=>array('--debug')
    ));

    
/*
     *  Define an optional option that requires a value after the switch keyword
     */
    
$arguments->AddOption(array(
        
'Name'=>'email',
        
'Type'=>'text',
        
'Description'=>'change account e-mail address',
        
'KeywordRequired'=>true,
        
'Keyword'=>'-e',
        
'Aliases'=>array('--change-email')
    ));

    
/*
     *  Define a mandatory option that requires a value after the switch keyword
     */
    
$arguments->AddOption(array(
        
'Name'=>'account',
        
'Description'=>'nickname or e-mail of the account user',
        
'Type'=>'text',
        
'Required'=>1
    
));

    if(!
$arguments->ProcessArguments($_SERVER['argv'], $values))
    {
        echo 
'Error: '$arguments->error"\n";
        echo 
'Usage: '.$arguments->Usage($_SERVER['argv'][0]);
    }
    elseif(IsSet(
$values['help']))
    {
        echo 
'Usage: '.$arguments->Usage($_SERVER['argv'][0]);
    }
    else
    {
        if(IsSet(
$values['debug']))
            echo 
'Debug output is on'"\n";
        echo 
'The account is '$values['account'], "\n";
        if(IsSet(
$values['email']))
            echo 
'The account e-mail address was changed to '$values['email'], "\n";
    }
?>