translate MongoDBRef

-- 
Provided by anonymous 24577 (slavenin999@yandex.ru)

git-svn-id: https://svn.php.net/repository/phpdoc/ru/trunk@340125 c90b9560-bf6c-de11-be94-00142212c4b1
This commit is contained in:
Andrey Gromov
2016-09-23 08:19:38 +00:00
parent e94417c63a
commit 6ebc6837e5
3 changed files with 329 additions and 0 deletions

View File

@ -0,0 +1,139 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: c613a7e2f1f795b1fb741e4bda1a40e441c49f7a Maintainer: rjhdby Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<refentry xml:id="mongodbref.create" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>MongoDBRef::create</refname>
<refpurpose>Создает новую ссылку в базе данных</refpurpose>
</refnamediv>
<refsynopsisdiv role="soft-deprecation-notice">
<sidebar>
&mongo.noalternative.class.note;
<para>
Концепция ссылок на базу данных, а следовательно и данный класс,
являются устаревшими.
</para>
</sidebar>
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <modifier>static</modifier> <type>array</type><methodname>MongoDBRef::create</methodname>
<methodparam><type>string</type><parameter>collection</parameter></methodparam>
<methodparam><type>mixed</type><parameter>id</parameter></methodparam>
<methodparam choice="opt"><type>string</type><parameter>database</parameter></methodparam>
</methodsynopsis>
<para>
Если база данных не задана, будет использоваться текущая.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term>
<parameter>collection</parameter>
</term>
<listitem>
<para>
Имя коллекции (без имени базы данных).
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>id</parameter>
</term>
<listitem>
<para>
Поле _id связываемого объекта.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>database</parameter>
</term>
<listitem>
<para>
Название базы данных.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает ссылку.
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title>Пример <function>MongoDBRef::create</function></title>
<para>
Здесь создается ссылка базы данных на документ из коллекции
<literal>addresses</literal>.
<function>MongoCollection::getName</function> функция возвращает
имя коллекции (без имени базы данных).
</para>
<programlisting role="php">
<![CDATA[
<?php
$addresses = $db->addresses;
$people = $db->people;
//сохраняем $address в который будет добавлен _id
$addresses->insert($address);
// создаем ссылку
$ref = MongoDBRef::create($addresses->getName(), $address['_id']);
// добавляем ее как поле в $person
$person['address'] = $ref;
$people->save($person);
?>
]]>
</programlisting>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>MongoDB::createDBRef</methodname></member>
<member><methodname>MongoCollection::createDBRef</methodname></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
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
-->

View File

@ -0,0 +1,114 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: c613a7e2f1f795b1fb741e4bda1a40e441c49f7a Maintainer: rjhdby Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<refentry xml:id="mongodbref.get" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>MongoDBRef::get</refname>
<refpurpose>Извлекает объект, на который указывает ссылка</refpurpose>
</refnamediv>
<refsynopsisdiv role="soft-deprecation-notice">
<sidebar>
&mongo.noalternative.class.note;
<para>
Концепция ссылок на базу данных, а следовательно и данный класс,
являются устаревшими.
</para>
</sidebar>
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <modifier>static</modifier> <type>array</type><methodname>MongoDBRef::get</methodname>
<methodparam><type>MongoDB</type><parameter>db</parameter></methodparam>
<methodparam><type>array</type><parameter>ref</parameter></methodparam>
</methodsynopsis>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term>
<parameter>db</parameter>
</term>
<listitem>
<para>
База данных для использования.
</para>
</listitem>
</varlistentry>
<varlistentry>
<term>
<parameter>ref</parameter>
</term>
<listitem>
<para>
Ссылка для выборки.
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Возвращает документ, на который есть ссылка или &null; если этот документ не существует (битая ссылка).
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<example>
<title><function>MongoCollection::createDBRef</function> пример</title>
<programlisting role="php">
<![CDATA[
<?php
// получаем данные $person из бд
$person = $people->findOne();
// разыменовываем адрес
$address = MongoDBRef::get($people->db, $person['address']);
?>
]]>
</programlisting>
</example>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><methodname>MongoDB::getDBRef</methodname></member>
<member><methodname>MongoCollection::getDBRef</methodname></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
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
-->

View File

@ -0,0 +1,76 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: c613a7e2f1f795b1fb741e4bda1a40e441c49f7a Maintainer: rjhdby Status: ready -->
<!-- Reviewed: yes -->
<!-- $Revision$ -->
<refentry xml:id="mongodbref.isref" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>MongoDBRef::isRef</refname>
<refpurpose>Проверяет, что массив является ссылкой</refpurpose>
</refnamediv>
<refsynopsisdiv role="soft-deprecation-notice">
<sidebar>
&mongo.noalternative.class.note;
<para>
Концепция ссылок на базу данных, а следовательно и данный класс,
являются устаревшими.
</para>
</sidebar>
</refsynopsisdiv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <modifier>static</modifier> <type>bool</type><methodname>MongoDBRef::isRef</methodname>
<methodparam><type>mixed</type><parameter>ref</parameter></methodparam>
</methodsynopsis>
<para>
Этот метод фактически не переходит по ссылке, поэтому он не может определить является ли ссылка "битой". Он просто проверяет, что <parameter>ref</parameter> это правильная ссылка в нужном формате (что это объект или массив с $ref and $id полями).
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term>
<parameter>ref</parameter>
</term>
<listitem>
<para>
Массив или объект для проверки
</para>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</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
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
-->