一个基于PHP的API,用于捕获终端的按键。

0.1.1 2016-04-13 18:53 UTC

This package is not auto-updated.

Last update: 2024-09-14 18:31:39 UTC


README

基于PHP的命令行按键监听器。

Example

此库提供了一个API,用于捕获终端的按键。它目前支持拉丁基本字符范围,例如方向键、功能键(F*)、回车、空格、插入、删除、退格、Esc、a-z等。

安装

您可以选择下载此库的zip包,或者简单地通过composer安装它。

composer require ignasbernotas/phkey

限制

此包仅适用于基于UNIX/Linux的系统,因为Windows PHP版本不支持readline扩展。

示例

捕获所有按键
use \Iber\Phkey\Events\KeyPressEvent;
use \Iber\Phkey\Environment\Detector;

$detect = new Detector();
$listener = $detect->getListenerInstance();

$eventDispatcher = $listener->getEventDispatcher();

$eventDispatcher->addListener('key:press', function(KeyPressEvent $event) {
    echo $event->getKey(), PHP_EOL;
});

$eventDispatcher->addListener('key:enter', function(KeyPressEvent $event) use ($eventDispatcher) {
    echo 'Key "', $event->getKey(), '" was pressed. Quitting listener.', PHP_EOL;

    // notify the listener to stop
    $eventDispatcher->dispatch('key:stop:listening');
});

$listener->start();

许可证

根据MIT许可证。