mortenscheel / php-inquirer
该包最新版本(v0.2)没有可用的许可信息。
PHP的漂亮命令行提示
v0.2
2024-07-07 19:31 UTC
Requires
- php: ^8.2
Requires (Dev)
- ergebnis/composer-normalize: ^2.43
- laravel/pint: ^1.16
- phpstan/phpstan: ^1.11
- symfony/var-dumper: ^7.1
This package is auto-updated.
Last update: 2024-09-07 19:47:33 UTC
README
PHP Inquirer
基于Rust的inquire crate的PHP交互式CLI提示。
演示
$name = Text::make()->prompt('Name')->placeholder('John Doe')->run(); $password = Password::make()->prompt('Password')->confirm()->run(); $birthday = Date::make()->prompt('Birthday')->maxDate(date('Y-m-d'))->run(); $whitespace = Select::make()->prompt('Indentation')->options(['Tabs', 'Spaces'])->run(); $hobbies = MultiSelect::make()->options(['Programming', 'Music', 'Cooking'])->initial(['Programming'])->run(); $bio = Editor::make()->prompt('Your Bio')->hint('Close editor when finished')->run(); $confirm = Confirm::make()->prompt('Proceed')->default(true)->run(); echo json_encode(compact('name', 'password', 'birthday', 'whitespace', 'hobbies', 'bio', 'confirm'), JSON_PRETTY_PRINT);
关于
这是一个简单的概念验证。我喜欢inquire crate提供的交互式提示,并想知道如何在PHP CLI脚本中使用它们。
此包包含一个简单的Rust命令行应用程序,已为Linux、Mac和Windows预编译。PHP库是一个简单的包装器,使用exec()
调用rust应用程序。我想要使用symfony/process
,但无法找到一种方式使其完全交互,同时还能捕获输出和退出代码。
关于编辑器
提示的注意事项:默认情况下,它使用在EDITOR
或VISUAL
中定义的编辑器(如果未定义,则回退到nano
)。遗憾的是,此包装器不支持终端编辑器,但使用GUI编辑器如vscode是可行的。要使用VS Code作为编辑器,请执行export VISUAL=code
或使用->program('code')
运行编辑器。
如果您有建议,请提出问题或提交PR。