apache_note

Get and set apache request notes

&reftitle.description; ``string``false```apache_note` `string` `note_name` ``string``null```note_value`&null;

This function is a wrapper for Apache's `table_get` and `table_set`. It edits the table of notes that exists during a request. The table's purpose is to allow Apache modules to communicate.

The main use for `apache_note` is to pass information from one module to another within the same request.

&reftitle.parameters;

`note_name`

- The name of the note.

`note_value`

- The value of the note.

&reftitle.returnvalues;

If `note_value` is omitted or &null;, it returns the current value of note `note_name`. Otherwise, it sets the value of note `note_name` to `note_value` and returns the previous value of note `note_name`. If the note cannot be retrieved, &false; is returned.

&reftitle.changelog;

&Version; | &Description;
8.0.0 | `note_value` is nullable now.

&reftitle.examples;

### Passing information between PHP and Perl

    <?php

    apache_note('name', 'Fredrik Ekengren');

    // Call perl script
    virtual("/perl/some_script.pl");

    $result = apache_note("resultdata");
    ?>

    # Get Apache request object
    my $r = Apache->request()->main();

    # Get passed data
    my $name = $r->notes('name');

    # some processing

    # Pass result back to PHP
    $r->notes('resultdata', $result);

### Logging values in access.log

    <?php

    apache_note('sessionID', session_id());

    ?>

    # "%{sessionID}n" can be used in the LogFormat directive

&reftitle.seealso;

- `virtual`