dev-master
9999999-devStrukt CLI Console
MIT
The Requires
- php >=7.0
The Development Requires
by Moderator
1.0.0
1.0.0.0Strukt CLI Console
MIT
The Requires
- php >=5.6
The Development Requires
by Moderator
 Wallogit.com
                    
                    2017 © Pedro Peláez
                         Wallogit.com
                    
                    2017 © Pedro Peláez
                    
                    
                    
                    
                
                
            
Strukt CLI Console
This is a console framework that utilises DocBlock to parse command description and format., (*2)
This package uses DocBlock to generate your commands. The DocBlock must be in single spaces
and NOT tabs. Be conservative with the spaces and don't leave any that are unnecessary
otherwise the commands will not work., (*3)
Sample Command:, (*4)
namespace Command;
use Strukt\Console\Input;
use Strukt\Console\Output;
use \Strukt\Console\Command as AbstractCommand;
/**
* mysql:auth          MySQL Authentication
* 
* Usage:
*   
*      mysql:auth <database> --username <username> --password <password> [--host <127.0.0.1>]
*
* Arguments:
*
*      database  MySQL database name - optional argument
* 
* Options:
* 
*      --username -u   MySQL Username
*      --password -p   MySQL Password
*      --host -h       MySQL Host - optional default 127.0.0.1
*/
class MySQLAuth extends AbstractCommand{ 
    public function execute(Input $in, Output $out){
        $out->add(sprintf("%s:%s:%s", 
                            $in->get("database"), 
                            $in->get("username"), 
                            $in->get("password")));
    }
}
Add this in your executable file:, (*5)
#!/usr/bin/php
<?php
$app = new Strukt\Console\Application("Strukt Console");
$app->add(new Command\MySQLAuth);
$app->run($_SERVER["argv"]);
Call command:, (*6)
php console mysql:auth payroll -u root -p p@55w0rd
Prompt for input and masked input, you may but need not describe promted input in command docblock:, (*7)
...
//prompt for input
$username = $in->getInput("Username:");
$nickname = $in->getInput("Nickname:");
//masked input
$password = $in->getMaskedInput("Password:");
$cpassword = $in->getMaskedInput("Confirm Password:");
...
        Strukt CLI Console
MIT
Strukt CLI Console
MIT