<?php 
 
use Eftec\CliOne\CliOne; 
 
include __DIR__.'/../src/CliOne.php'; 
include __DIR__.'/../src/CliOneParam.php'; 
$origin='example1.php'; 
 
$cli=new CliOne($origin); 
if($cli->isCli()) { 
    $cli->createParam('param1') 
        ->setDescription('This field is called param1 and it is required') 
        ->setRequired(true) 
        ->setDefault('param1') 
        ->add(); 
    $cli->createParam('param1','subparam0') 
        ->setDescription('This field is called subparam0 and it is required') 
        ->setRequired(true) 
        ->setInput(true,'options',['op1','op2','op3']) 
        ->add(); 
    $cli->createParam('param1','subparam1') 
        ->setDescription('This field is called subparam1 and it is required') 
        ->setRequired(true) 
        ->setInput(true,'option',['op1','op2','op3']) 
        ->add(); 
    $cli->createParam('param1','subparam2') 
        ->setDescription('This field is called subparam2 and it is required','subparam2 (optionshorts)') 
        ->setRequired(true) 
        ->setInput(true,'optionshort',['yes','no']) 
        ->add(); 
    $cli->createParam('param1','subparam3') 
        ->setDescription('This field is called subparam3 and it is required','subparam3 number') 
        ->setRequired(true) 
        ->setInput(true,'number','') 
        ->add(); 
    $cli->createParam('param1','subparam4') 
        ->setDescription('This field is called subparam4 and it is required','subparam4 (range)') 
        ->setRequired(true) 
        ->setDefault('0') 
        ->setInput(true,'range',[0,100]) 
        ->add(); 
    $cli->createParam('param2') 
        ->setDescription('This field is called para2 and it is required') 
        ->setDefault('hello') 
        ->setRequired(true) 
        ->add(); 
 
    $param1=$cli->evalParam('*'); 
    if(is_object($param1)) { 
        if($param1->key==='param1' && $param1->subkey===null && $param1->value!==false) { 
            echo "running param1\n"; 
            $param1_1=$cli->evalParam('param1','subparam0'); 
            $param1_2=$cli->evalParam('param1','subparam1'); 
            $param1_3=$cli->evalParam('param1','subparam2'); 
            $param1_4=$cli->evalParam('param1','subparam3'); 
            $param1_5=$cli->evalParam('param1','subparam4'); 
        } 
    } 
    foreach($cli->parameters as $v) { 
        echo "$v->key,$v->subkey = ".json_encode($v->value)."\n"; 
    } 
    //var_dump($param1); 
 
/* 
    $cli->addSubParameter('param1','subparam2',null,'1','This field is called subparam2 and it is required',true,true,'option',['op1','op2','op3']); 
    $cli->addSubParameter('param1','subparam2',null,['yes','no'],'This field is called subparam2 and it is required',true,true,'optionshort',['yes','no']); 
    $cli->addSubParameter('param1','subparam3',null,'hello','This field is called subparam3 and it is required (string)',true,true,'string'); 
    $cli->addSubParameter('param1','subparam4',null,'3','This field is called subparam4 and it is required (number)',true,true,'number'); 
    $cli->addSubParameter('param1','subparam5','subparam5 (range 0 to 100)','3','This field is called subparam4 and it is required',true,true,'range',[0,100]); 
    $cli->addParameter('param2',null,'','This field is called param2  and it is not required',false,false);*/ 
  /*  echo <<<EOF 
   __                                 _ 
  /__\__  __  __ _  _ __ ___   _ __  | |  ___ 
 /_\  \ \/ / / _` || '_ ` _ \ | '_ \ | | / _ \ 
//__   >  < | (_| || | | | | || |_) || ||  __/ 
\__/  /_/\_\ \__,_||_| |_| |_|| .__/ |_| \___| 
                              |_|  version 1.2 
Parameters: 
 
EOF;*/ 
    //$cli->start(); 
    //$cli->showparams(); 
    //$cli->end(); 
} /** @noinspection PhpStatementHasEmptyBodyInspection */ else { 
    // 1) not cli 
    // 2) composer is running 
    // 3) it is not running the right file. 
    // 4) it is running as web. 
} 
 
 |