Added PHP App Server to Real-world uses section. #2043
Merged
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
I realize my addition is longer (line length) than the other entries. I can remove the ExecTerminal, TerminalManager, and RunProcessSDK bit if you want.
The relevant components' source code is here:
https://github.com/cubiclesoft/php-app-server/blob/master/www/support/run-process/run_process.js
I recall seeing at least one issue on this issue tracker where it is mentioned that the primary project goal is terminal emulation but that doing what ExecTerminal does is certainly possible. Most of the use cases definitely seem to be focused on the SSH universe, which is cool. ExecTerminal transforms Terminal into a kind of a single-process backend monitoring thing with full ANSI escape code and process control support, which enables some interesting use-cases. TerminalManager and RunProcessSDK provide the other bits of glue to actually connect everything up to a WebSocket but I tried to make all three components isolated in their own universes (but certainly compatible with each other) so that users don't have to use PHP App Server to use any of them (i.e. they could extract one or more components for use with Node or whatever).
While I'm pretty sure what I'm doing is a fairly unique usage of XTerm.js, I can certainly remove that second sentence if it is too long. Let me know.