seld/cli-prompt

允许您在命令行中提示用户输入,并可选择隐藏他们输入的字符

1.0.4 2020-12-15 21:32 UTC

README

虽然使用 fgets() 提示用户输入很简单,但有时你需要提示敏感信息。在这种情况下,用户输入的字符不应该直接可见,这在跨平台上做起来相当痛苦。

这个小包正是为你解决这个问题

<?php

echo 'Say hello: ';

$answer = Seld\CliPrompt\CliPrompt::hiddenPrompt();

echo 'You answered: '.$answer . PHP_EOL;

// Output in the CLI:
// 
// Say hello:
// You answered: hello

安装

composer require seld/cli-prompt

API

  • Seld\CliPrompt\CliPrompt::hiddenPrompt($allowFallback = false);

    提示用户输入并隐藏他们输入的内容。如果由于任何原因失败且 $allowFallback 设置为 true,则将使用常规的 fgets() 提示,字符将可见。

  • Seld\CliPrompt\CliPrompt::prompt();

    常规用户输入提示,字符在屏幕上显示。

在这两种情况下,用户提交答案时输入的尾随换行符将被删除。

要求

PHP 5.3 及以上

许可协议

CLI-Prompt 在 MIT 许可协议下授权 - 请参阅 LICENSE 文件以获取详细信息

致谢

  • 此项目使用 hiddeninput.exe 在 Windows 上提示密码,源代码和详细信息可以在项目的 GitHub 页面上找到