[php-src] PR #23941: Rfc io terminal
| From: | prateekbhujel | Date: | Sun, 27 Sep 2026 00:16:02 +0000 |
| Subject: | [php-src] PR #23941: Rfc io terminal | ||
| Groups: | php.git-pulls | ||
| Request: | Send a blank email to git-pulls+get-38852@lists.php.net to get a copy of this message | ||
Pull Request: https://github.com/php/php-src/pull/23941
Author: prateekbhujel
Draft implementation for the proposed PHP 8.7 Io\Terminal RFC.
The proposal provides a small native terminal API in ext/standard for cross-platform operations that
are not reliably implementable in userland:
- native terminal dimensions
- raw mode with explicit/restorable ownership
- normalized key input
- hidden input
The API uses Time\Duration for timeout values, following Io\Poll.
Reference implementation and prior ecosystem experience:
https://github.com/prateekbhujel/php-terminal
The formal RFC Wiki page is pending RFC Wiki karma and will be linked here once published.
This PR is intentionally a draft while the API is under RFC review.
The core implementation is intentionally smaller than ext-terminal's 1.x surface. In
particular, it does not include compatibility aliases, convenience APIs, or COLUMNS/LINES
environment fallback for terminal dimensions.
Tests include the core API surface and regression coverage for mode ownership and input handling.