URL リライタの値を追加する

# output_add_rewrite_var

(PHP 4 >= 4.3.0, PHP 5, PHP 7)

output_add_rewrite_var — URL リライタの値を追加する

### 説明

output_add_rewrite_var ( string `$name` , string `$value` ) : bool

この関数は、URL リライト機構に新しい名前/値の組を追加します。 名前および値は、URL (GET パラメータとして) およびフォーム (hidden フィールドとして) で追加されます。これは、session.use_trans_sid で透過的 URL リライティングが有効になっている場合に セッション ID が渡される方法と同じです。

この関数の挙動は、php.ini パラメータ url_rewriter.tags および url_rewriter.hosts によって制御されます。

> 注意: もし出力バッファリングが有効になっていない場合、この関数を コールすると出力バッファリングが暗黙的に開始されます。

### パラメータ

`name`

  変数名。

`value`

  変数の値。

### 返り値

成功した場合に `TRUE` を、失敗した場合に `FALSE` を返します。

### 変更履歴

バージョン | 説明
--- | ---
7.1.0 | PHP 7.1.0 より前のバージョンでは、output_add_rewrite_var() で設定したリライト変数は、透過的セッションID出力バッファと同じセッションモジュールを使っていました。 PHP 7.1.0 以降では、専用の出力バッファを用いるようになりました。 url_rewriter.tags はただ関数の出力にだけ使われるようになり、 url_rewriter.hosts が追加されました。

### 例

例1 output_add_rewrite_var() の例

`<?php
output_add_rewrite_var('var', 'value');
// リンク
echo '<a href="file.php">リンク</a>
<a href="http://example.com">リンク2</a>';
// フォーム
echo '<form action="script.php" method="post">
<input type="text" name="var2" />
</form>';
print_r(ob_list_handlers());
?>`

上の例の出力は以下となります。

    <a href="file.php?var=value">リンク</a>
    <a href="http://example.com">リンク2</a>

    <form action="script.php" method="post">
    <input type="hidden" name="var" value="value" />
    <input type="text" name="var2" />
    </form>

    Array
    (
        [0] => URL-Rewriter
    )

### 参考

- output_reset_rewrite_vars() - URL リライタの値をリセットする
- ob_flush() - 出力バッファをフラッシュ(送信)する
- ob_list_handlers() - 使用中の出力ハンドラの一覧を取得する
- url_rewriter.tags
- url_rewriter.hosts
- session.trans_sid_tags
- session.trans_sid_hosts