strukt / console
Strukt CLI 控制台
1.0.0
2024-09-24 19:46 UTC
Requires
- php: >=7.0
- strukt/fs: 1.1.0
This package is auto-updated.
Last update: 2024-09-24 19:47:09 UTC
README
这是一个利用 docblock 解析命令描述和格式的控制台框架。
重要
此包使用 docblock 生成您的命令。docblock 必须使用单空格,不能使用制表符。请节约使用空格,不要留下不必要的空格,否则命令将无法工作。
用法
示例命令
namespace Command; use Strukt\Console\Input; use Strukt\Console\Output; /** * 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 \Strukt\Console\Command{ public function execute(Input $in, Output $out){ $out->add(sprintf("%s:%s:%s", $in->get("database"), $in->get("username"), $in->get("password"))); } }
在您的可执行文件中添加以下内容
#!/usr/bin/php <?php $app = new Strukt\Console\Application("Strukt Console"); $app->add(new Command\MySQLAuth); $app->run($_SERVER["argv"]);
调用命令
$ php console mysql:auth payroll -u root -p p@55w0rd
提示输入和掩码输入,您可以在命令 docblock 中描述提示输入,但不是必须的。
... //prompt for input $username = $in->getInput("Username:"); $nickname = $in->getInput("Nickname:"); //masked input $password = $in->getMaskedInput("Password:"); $cpassword = $in->getMaskedInput("Confirm Password:"); ...