【PHP8.x】readline_info関数の使い方
readline_info関数は、PHPがGNU Readlineライブラリと連携して使用する内部変数の情報を取得したり、それらの変数を設定したりする関数です。この関数は、主にコマンドラインインターフェース(CLI)で動作するPHPアプリケーションにおいて、ユーザーからの対話的な入力を受け付ける際の挙動をカスタマイズするために利用されます。
引数を指定せずにreadline_info()
を呼び出した場合、Readlineライブラリが現在保持しているすべての内部変数とその値が連想配列として返されます。これにより、入力履歴の管理、カーソルの移動、プロンプトの表示など、現在の入力環境の設定状態を一覧で確認できます。
第一引数に文字列で変数名を指定してreadline_info("variable_name")
のように呼び出すと、指定した変数名に対応する現在の値のみを取得できます。たとえば、入力履歴の最大行数やタブ補完の挙動に関する設定などを個別に確認する際に便利です。
さらに、第一引数に変数を、第二引数に新しい値を指定してreadline_info("variable_name", "new_value")
のように呼び出すと、指定した変数の値を変更できます。この操作により、たとえば入力プロンプトの表示形式を変更したり、入力履歴ファイルのパスを設定したりするなど、Readlineライブラリの振る舞いを動的に調整することが可能です。変更が成功した場合、この関数は変更前の古い値を返します。
この関数を利用するには、PHP環境でReadline拡張が有効になっている必要があります。主にCLIスクリプトで、より高度なユーザー入力制御を行うための重要なツールとして活用できます。
基本的な使い方
構文(syntax)
<?php
readline_info();
?>
引数(parameters)
?string $varname = null, string|array|null $value = null
- ?string $varname = null: 取得または設定したい情報名。指定しない場合は全ての情報を取得する。
- string|array|null $value = null: 設定したい情報。
戻り値(return)
array|string
readline_info
関数は、現在のreadlineセッションに関する情報を配列または文字列で返します。具体的には、編集モード、履歴ファイル名、補完パスなどの設定情報が取得できます。