1
0
mirror of https://github.com/php/doc-ru.git synced 2026-04-29 02:03:25 +02:00
Files
archived-doc-ru/reference/dba/functions/dba-popen.xml
T
2022-12-27 08:01:33 +03:00

188 lines
7.6 KiB
XML

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 9264401165d31437c4afd80ec936f775ae23d367 Maintainer: rjhdby Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.dba-popen" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>dba_popen</refname>
<refpurpose>Установить постоянный экземпляр базы данных</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type class="union"><type>resource</type><type>false</type></type><methodname>dba_popen</methodname>
<methodparam><type>string</type><parameter>path</parameter></methodparam>
<methodparam><type>string</type><parameter>mode</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>string</type><type>null</type></type><parameter>handler</parameter><initializer>&null;</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>permission</parameter><initializer>0644</initializer></methodparam>
<methodparam choice="opt"><type>int</type><parameter>map_size</parameter><initializer>0</initializer></methodparam>
<methodparam choice="opt"><type class="union"><type>int</type><type>null</type></type><parameter>flags</parameter><initializer>&null;</initializer></methodparam>
</methodsynopsis>
<para>
<function>dba_open</function> устанавливает постоянный экземпляр базы данных по пути
<parameter>path</parameter> в режиме <parameter>mode</parameter>, используя
обработчик <parameter>handler</parameter>.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>path</parameter></term>
<listitem>
<para>
Путь до файлов базы данных.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>mode</parameter></term>
<listitem>
<para>
<literal>r</literal> для режима чтения, <literal>w</literal> для
режима чтения/записи с уже существующей базой данных. <literal>c</literal>
для режима чтения/записи и создания базы данных, если она ещё не была создана,
и <literal>n</literal> для создания, обрезания и доступа для чтения/записи.
База данных создаётся с архитектурой BTree, другие архитектуры (вроде Hash или Queue)
не поддерживаются.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>handler</parameter></term>
<listitem>
<para>
Имя <link linkend="dba.requirements">обработчика</link>, который будет
использоваться для доступа по пути <parameter>path</parameter>. Ему передаются
все необязательные параметры, заданные в <function>dba_open</function>.
Если параметр <parameter>handler</parameter> равен &null;,
то вызывается обработчик по умолчанию.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>permission</parameter></term>
<listitem>
<para>
Необязательный параметр, заданный целым числом (&integer;), который передаётся драйверу.
У него то же значение, что и у параметра <parameter>permissions</parameter> функции <function>chmod</function>,
значение по умолчанию - <literal>0644</literal>.
</para>
<para>
Драйверы <literal>db1</literal>, <literal>db2</literal>, <literal>db3</literal>,
<literal>db4</literal>, <literal>dbm</literal>, <literal>gdbm</literal>,
<literal>ndbm</literal> и <literal>lmdb</literal> поддерживают
параметр <parameter>permission</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>map_size</parameter></term>
<listitem>
<para>
Необязательный параметр, заданный целым числом (&integer;), который передаётся драйверу.
Его значение должно быть кратно размеру страницы ОС или равно нулю,
чтобы использовать размер карты по умолчанию.
</para>
<para>
Только драйвер <literal>lmdb</literal> допускает параметр <parameter>map_size</parameter>.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>flags</parameter></term>
<listitem>
<para>
Флаги для передачи драйверам базы данных. Если указано значение &null;,
будут переданы флаги по умолчанию.
В настоящее время только драйвер LMDB поддерживает следующие флаги:
<constant>DBA_LMDB_USE_SUB_DIR</constant> и
<constant>DBA_LMDB_NO_SUB_DIR</constant>.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает обработчик в случае успешного выполнения&return.falseforfailure;.
</para>
</refsect1>
<refsect1 role="errors">
&reftitle.errors;
<para>
Функция возвращает значение &false; и выдаёт ошибку уровня <constant>E_WARNING</constant>,
если параметр <parameter>handler</parameter> равен &null;, но нет обработчика по умолчанию.
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.2.0</entry>
<entry>
Добавлен параметр <parameter>flags</parameter>.
</entry>
</row>
<row>
<entry>8.1.0</entry>
<entry>
Параметр <parameter>handler</parameter> теперь допускает значение &null;.
</entry>
</row>
<row>
<entry>7.3.14, 7.4.2</entry>
<entry>
Драйвер <literal>lmdb</literal> теперь поддерживает дополнительный
параметр <parameter>map_size</parameter>.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>dba_open</function></member>
<member><function>dba_close</function></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->