Обновление до английской версии (#939)

This commit is contained in:
Mikhail Alferov
2024-03-04 23:56:53 +03:00
committed by GitHub
parent 9154130c65
commit 5868bec589
2 changed files with 20 additions and 13 deletions

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 14767af0f05dffa6fdb9b49e1a1f4e9ca7022a60 Maintainer: sergey Status: ready -->
<!-- EN-Revision: c4650e160398873696e59305a11db9645e0b7304 Maintainer: sergey Status: ready -->
<!-- Reviewed: no -->
<phpdoc:classref xml:id="class.weakmap" xmlns:phpdoc="http://php.net/ns/phpdoc" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude">
@ -12,17 +12,21 @@
<section xml:id="weakmap.intro">
&reftitle.intro;
<para>
<classname>WeakMap</classname> - это коллекция (map) или словарь, который принимает объекты в качестве ключей. Однако, в отличие
от аналогичного в остальном <classname>SplObjectStorage</classname>, объект в ключе <classname>WeakMap</classname>
не влияет на счётчик ссылок объекта. То есть, если в какой-то момент единственной оставшейся ссылкой
на объект является ключ <classname>WeakMap</classname>, объект будет собран сборщиком мусора и
удалён из <classname>WeakMap</classname>. Его основной вариант использования - создание кешей данных, полученных
из объекта, которым не нужно жить дольше, чем объект.
Класс <classname>WeakMap</classname> — карта, или словарь,
который принимает объекты как ключи. Однако, объект в ключе
экземпляра <classname>WeakMap</classname> не влияет на счётчик
ссылок объекта, в отличие от аналогичного в остальном класса
<classname>SplObjectStorage</classname>. То есть, как только единственной оставшейся ссылкой
на объект будет ключ экземпляра <classname>WeakMap</classname>, сборщик мусора
соберёт и удалит объект из экземпляра <classname>WeakMap</classname>.
Основная задача класса — создавать кеши данных, которые получили из объекта,
которым не нужно жить дольше, чем объект.
</para>
<para>
<classname>WeakMap</classname> реализует <interfacename>ArrayAccess</interfacename>,
<interfacename>Iterator</interfacename> и <interfacename>Countable</interfacename>,
поэтому в большинстве случаев его можно использовать так же, как ассоциативный массив.
Класс <classname>WeakMap</classname> реализует интерфейсы <interfacename>ArrayAccess</interfacename>,
<interfacename>Traversable</interfacename> (через интерфейс <interfacename>IteratorAggregate</interfacename>)
и <interfacename>Countable</interfacename>,
поэтому с объектом класса часто работают так же, как с ассоциативным массивом.
</para>
</section>
<!-- }}} -->
@ -63,10 +67,11 @@
&reftitle.examples;
<para>
<example>
<title>Пример использования <classname>Weakmap</classname></title>
<title>Пример использования класса <classname>Weakmap</classname></title>
<programlisting role="php">
<![CDATA[
<?php
$wm = new WeakMap();
$o = new stdClass;
@ -84,6 +89,8 @@ echo "Сброс...\n";
unset($o);
echo "Готово\n";
var_dump(count($wm));
?>
]]>
</programlisting>
&example.outputs;

View File

@ -1,5 +1,5 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 86b976d5afaf037868174fe5c242e886eb69baa4 Maintainer: mch Status: ready -->
<!-- EN-Revision: a866f72f5334d05a2cdfe9dd423eedd071192ff8 Maintainer: mch Status: ready -->
<!-- Reviewed: no -->
<refentry xml:id="function.ob-flush" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
@ -16,7 +16,7 @@
<para>
Функция вызывает обработчик вывода
(с флагом the <constant>PHP_OUTPUT_HANDLER_FLUSH</constant>),
сбрасывает (отправляет) возвращённое им значение
сбрасывает (отправляет) значение, которое он вернул,
и удаляет содержимое активного буфера вывода.
</para>
<para>