# yaz_es

(PECL yaz >= 0.9.0)

yaz_es — Prepares for an Extended Service Request

### 说明

yaz_es ( resource `$id` , string `$type` , array `$args` ) : void

This function prepares for an Extended Service Request. Extended Services is family of various Z39.50 facilities, such as Record Update, Item Order, Database administration etc.

> Note:

> Many Z39.50 Servers do not support Extended Services.

The yaz_es() creates an Extended Service Request packages and puts it into a queue of operations. Use yaz_wait() to send the request(s) to the server. After completion of yaz_wait() the result of the Extended Service operation should be expected with a call to yaz_es_result().

### 参数

`id`

  The connection resource returned by yaz_connect().

`type`

  A string which represents the type of the Extended Service: itemorder (Item Order), create (Create Database), drop (Drop Database), commit (Commit Operation), update (Update Record), xmlupdate (XML Update). Each type is specified in the following section.

`args`

  An array with extended service options plus package specific options. The options are identical to those offered in the C API of ZOOM C. Refer to the ZOOM » Extended Services.

### 返回值

没有返回值。

### 范例

Example #1 Record Update

    <?php
    $con = yaz_connect("myhost/database");
    $args = array (
        "record" => "<gils><title>some title</title></gils>",
        "syntax" => "xml",
        "action" => "specialUpdate"
    );
    yaz_es($con, "update", $args);
    yaz_wait();
    $result = yaz_es_result($id);
    ?>

### 参见

- yaz_es_result() - Inspects Extended Services Result