mirror of
https://github.com/sigmasternchen/php-doc-en
synced 2025-03-26 13:58:55 +00:00

Most notably, we're adding info about Console Virtual Terminal Sequences. Patch provided by Florian Berberich. git-svn-id: https://svn.php.net/repository/phpdoc/en/trunk@346833 c90b9560-bf6c-de11-be94-00142212c4b1
156 lines
5.2 KiB
XML
156 lines
5.2 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
|
|
<refentry xml:id="function.sapi-windows-vt100-support" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
|
|
<refnamediv>
|
|
<refname>sapi_windows_vt100_support</refname>
|
|
<refpurpose>Get or set VT100 support for the specified stream associated to an output buffer of a Windows console.</refpurpose>
|
|
</refnamediv>
|
|
|
|
<refsect1 role="description"><!-- {{{ -->
|
|
&reftitle.description;
|
|
<methodsynopsis role="procedural">
|
|
<type>bool</type><methodname>sapi_windows_vt100_support</methodname>
|
|
<methodparam><type>resource</type><parameter>stream</parameter></methodparam>
|
|
<methodparam choice="opt"><type>bool</type><parameter>enable</parameter></methodparam>
|
|
</methodsynopsis>
|
|
<para>
|
|
If <parameter>enable</parameter> is omitted, the function returns &true; if the stream <parameter>stream</parameter> has VT100 control codes enabled, &false; otherwise.
|
|
</para>
|
|
<para>
|
|
If <parameter>enable</parameter> is specified, the function will try to enable or disable the VT100 features of the stream <parameter>stream</parameter>.
|
|
If the feature has been successfully enabled (or disabled), the function will return &true;, or &false; otherwise.
|
|
</para>
|
|
<para>
|
|
At startup, PHP tries to enable the VT100 feature of the <constant>STDOUT</constant>/<constant>STDERR</constant> streams. By the way, if those streams are redirected to a file, the VT100 features may not be enabled.
|
|
</para>
|
|
<para>
|
|
If VT100 support is enabled, it is possible to use control sequences as they are known from the VT100 terminal.
|
|
They allow the modification of the terminal's output. On Windows these sequences are called Console Virtual Terminal Sequences.
|
|
</para>
|
|
<warning>
|
|
<simpara>
|
|
This function uses the <constant>ENABLE_VIRTUAL_TERMINAL_PROCESSING</constant> flag implemented in the Windows 10 API, so the VT100 feature may not be available on older Windows versions.
|
|
</simpara>
|
|
</warning>
|
|
</refsect1><!-- }}} -->
|
|
|
|
<refsect1 role="parameters"><!-- {{{ -->
|
|
&reftitle.parameters;
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><parameter>stream</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
The stream on which the function will operate.
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><parameter>enable</parameter></term>
|
|
<listitem>
|
|
<para>
|
|
If specified, the VT100 feature will be enabled (if &true;) or disabled (if &false;).
|
|
</para>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</refsect1><!-- }}} -->
|
|
|
|
<refsect1 role="returnvalues"><!-- {{{ -->
|
|
&reftitle.returnvalues;
|
|
<para>
|
|
If <parameter>enable</parameter> is not specified: returns &true; if the VT100 feature is enabled, &false; otherwise.
|
|
</para>
|
|
<para>
|
|
If <parameter>enable</parameter> is specified: &return.success;
|
|
</para>
|
|
</refsect1><!-- }}} -->
|
|
|
|
<refsect1 role="examples"><!-- {{{ -->
|
|
&reftitle.examples;
|
|
<example>
|
|
<title><function>sapi_windows_vt100_support</function> default state</title>
|
|
<para>
|
|
By default, <constant>STDOUT</constant> and <constant>STDERR</constant> have the VT100 feature enabled.
|
|
</para>
|
|
<programlisting role="sh">
|
|
php -r "var_export(sapi_windows_vt100_support(STDOUT));echo ' ';var_export(sapi_windows_vt100_support(STDERR));"
|
|
</programlisting>
|
|
&example.outputs.similar;
|
|
<screen>
|
|
<![CDATA[
|
|
true true
|
|
]]>
|
|
</screen>
|
|
<para>
|
|
By the way, if a stream is redirected, the VT100 feature will not be enabled:
|
|
</para>
|
|
<programlisting role="sh">
|
|
php -r "var_export(sapi_windows_vt100_support(STDOUT));echo ' ';var_export(sapi_windows_vt100_support(STDERR));" 2>NUL
|
|
</programlisting>
|
|
&example.outputs.similar;
|
|
<screen>
|
|
true false
|
|
</screen>
|
|
</example>
|
|
<example>
|
|
<title><function>sapi_windows_vt100_support</function> changing state</title>
|
|
<para>
|
|
You won't be able to enable the VT100 feature of <constant>STDOUT</constant> or <constant>STDERR</constant> if the stream is redirected.
|
|
</para>
|
|
<programlisting role="sh">
|
|
php -r "var_export(sapi_windows_vt100_support(STDOUT, true));echo ' ';var_export(sapi_windows_vt100_support(STDERR, true));" 2>NUL
|
|
</programlisting>
|
|
&example.outputs.similar;
|
|
<screen>
|
|
<![CDATA[
|
|
true false
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
<example>
|
|
<title>Example usage of VT100 support enabled</title>
|
|
<programlisting role="php">
|
|
<![CDATA[
|
|
<?php
|
|
$out = fopen('php://stdout','w');
|
|
fwrite($out, 'Just forgot a lettr.');
|
|
// Moves the cursor two characters backwards
|
|
fwrite($out, "\033[2D");
|
|
// Inserts one blank, shifting existing text to the right -> Just forgot a lett r.
|
|
fwrite($out, "\033[1@");
|
|
fwrite($out, 'e');
|
|
?>
|
|
]]>
|
|
</programlisting>
|
|
&example.outputs;
|
|
<screen>
|
|
<![CDATA[
|
|
Just forgot a letter.
|
|
]]>
|
|
</screen>
|
|
</example>
|
|
</refsect1>
|
|
</refentry>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|