# yaz_connect

(PHP 4 >= 4.0.1, PECL yaz >= 0.9.0)

yaz_connect — Prepares for a connection to a Z39.50 server

### Description

yaz_connect ( string `$zurl` [, mixed `$options` ] ) : mixed

This function returns a connection resource on success, zero on failure.

yaz_connect() prepares for a connection to a Z39.50 server. This function is non-blocking and does not attempt to establish a connection - it merely prepares a connect to be performed later when yaz_wait() is called.

> Note:

> The » YAZ proxy is a freely available Z39.50 proxy.

### Parameters

`zurl`

  A string that takes the form `host[:port][/database]`. If port is omitted, port 210 is used. If database is omitted `Default` is used.

`options`

  If given as a string, it is treated as the Z39.50 V2 authentication string (OpenAuth).

  If given as an array, the contents of the array serves as options.

  user

    Username for authentication.

  group

    Group for authentication.

  password

    Password for authentication.

  cookie

    Cookie for session (YAZ proxy).

  proxy

    Proxy for connection (YAZ proxy).

  persistent

    A boolean. If `TRUE` the connection is persistent; If `FALSE` the connection is not persistent. By default connections are persistent.

    > Note:

    > If you open a persistent connection, you won't be able to close it later with yaz_close().

  piggyback

    A boolean. If `TRUE` piggyback is enabled for searches; If `FALSE` piggyback is disabled. By default piggyback is enabled.

    Enabling piggyback is more efficient and usually saves a network-round-trip for first time fetches of records. However, a few Z39.50 servers do not support piggyback or they ignore element set names. For those, piggyback should be disabled.

  charset

    A string that specifies character set to be used in Z39.50 language and character set negotiation. Use strings such as: `ISO-8859-1`, `UTF-8`, `UTF-16`.

    Most Z39.50 servers do not support this feature (and thus, this is ignored). Many servers use the ISO-8859-1 encoding for queries and messages. MARC21/USMARC records are not affected by this setting.

  preferredMessageSize

    An integer that specifies the maximum byte size of all records to be returned by a target during retrieval. See the » Z39.50 standard for more information.

    > Note:

    > This option is supported in PECL YAZ 1.0.5 or later.

  maximumRecordSize

    An integer that specifies the maximum byte size of a single record to be returned by a target during retrieval. This entity is referred to as Exceptional-record-size in the » Z39.50 standard.

    > Note:

    > This option is supported in PECL YAZ 1.0.5 or later.

### Return Values

A connection resource on success, `FALSE` on error.

### Changelog

Version | Description
--- | ---
4.1.0 | The parameter `options` was added.

### See Also

- yaz_close() - Close YAZ connection