Skip to content

Commit

Permalink
Sync Closure docs with EN
Browse files Browse the repository at this point in the history
  • Loading branch information
Girgias committed Nov 8, 2023
1 parent c8332bf commit 3cbecfe
Show file tree
Hide file tree
Showing 5 changed files with 82 additions and 143 deletions.
62 changes: 16 additions & 46 deletions language/predefined/closure/bind.xml
Original file line number Diff line number Diff line change
@@ -1,32 +1,29 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: bea58f82ad360ef5486ab2a744625ba7422fdd95 Maintainer: seros Status: ready -->
<!-- EN-Revision: 9c74079f12d67cabb52c124d761f48275417d7eb Maintainer: seros Status: ready -->
<!-- Reviewed: yes Maintainer: seros -->

<refentry xml:id="closure.bind" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Closure::bind</refname>
<refpurpose>
Duplicar un cierre con un objeto vinculado y ámbito de clase especificados
</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <modifier>static</modifier> <type>Closure</type><methodname>Closure::bind</methodname>
<methodsynopsis role="Closure">
<modifier>public</modifier> <modifier>static</modifier> <type class="union"><type>Closure</type><type>null</type></type><methodname>Closure::bind</methodname>
<methodparam><type>Closure</type><parameter>closure</parameter></methodparam>
<methodparam><type>object</type><parameter>newthis</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>newscope</parameter>
<initializer>"static"</initializer></methodparam>
<methodparam><type class="union"><type>object</type><type>null</type></type><parameter>newThis</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>object</type><type>string</type><type>null</type></type><parameter>newScope</parameter><initializer>"static"</initializer></methodparam>
</methodsynopsis>
<para>
Este método es una versión estática de <methodname>Closure::bindTo</methodname>.
Véase la documentación de ese método para más información.
</para>

</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
Expand All @@ -39,7 +36,7 @@
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>newthis</parameter></term>
<term><parameter>newThis</parameter></term>
<listitem>
<para>
El objeto al que la función anónima dada debería ser vinculado, o
Expand All @@ -48,7 +45,7 @@
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>newscope</parameter></term>
<term><parameter>newScope</parameter></term>
<listitem>
<para>
El ámbito de clase a la que asociar el cierre, o
Expand All @@ -61,40 +58,14 @@
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve un nuevo objeto <classname>Closure</classname> &return.falseforfailure;
Devuelve un nuevo objeto <classname>Closure</classname> object, o &null; en caso de error.
</para>
</refsect1>

<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.0.0</entry>
<entry>
<parameter>newscope</parameter> ya no puede ser (un objeto de) una clase
interna, lo que era posible antes de esta versión.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>



<refsect1 role="examples">
&reftitle.examples;
<example>
Expand Down Expand Up @@ -129,18 +100,17 @@ echo $bcl2(), "\n";
</screen>
</example>
</refsect1>


<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><link linkend="functions.anonymous">Funciones anónimas</link></member>
<member><methodname>Closure::bindTo</methodname></member>
</simplelist>
</refsect1>

</refentry>

</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
Expand Down
76 changes: 24 additions & 52 deletions language/predefined/closure/bindto.xml
Original file line number Diff line number Diff line change
@@ -1,68 +1,65 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: cb89675ef37f83501a49f7d97339a76c02139379 Maintainer: seros Status: ready -->
<!-- EN-Revision: 9c74079f12d67cabb52c124d761f48275417d7eb Maintainer: seros Status: ready -->
<!-- Reviewed: yes Maintainer: seros -->

<refentry xml:id="closure.bindto" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Closure::bindTo</refname>
<refpurpose>
Duplicar el cierre con un objeto vinculado y ámbito de clase nuevos
</refpurpose>
</refnamediv>

<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<modifier>public</modifier> <type>Closure</type><methodname>Closure::bindTo</methodname>
<methodparam><type>object</type><parameter>newthis</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>newscope</parameter>
<initializer>"static"</initializer></methodparam>
<methodsynopsis role="Closure">
<modifier>public</modifier> <type class="union"><type>Closure</type><type>null</type></type><methodname>Closure::bindTo</methodname>
<methodparam><type class="union"><type>object</type><type>null</type></type><parameter>newThis</parameter></methodparam>
<methodparam choice="opt"><type class="union"><type>object</type><type>string</type><type>null</type></type><parameter>newScope</parameter><initializer>"static"</initializer></methodparam>
</methodsynopsis>
<para>
Crea y devuelve una nueva <link linkend="functions.anonymous">función
anónima</link> con el cuerpo y variables vinculadas como ésta, pero
posiblemente con un objeto vinculado diferente y un nuevo ámbito de clase.
</para>

<para>
El "objeto vinculado" determina el valor que <literal>$this</literal>
tendrá en el cuerpo de la función, y el "ámbito de clase" representa una clase
que determina los miembros privados y protegidos a los que será capaz
de acceder la función anónima. Concretamente, los miembros que serán
visibles son los mismos que si la función anónima fuese un método de
la clase dada como valor del parámetro
<parameter>newscope</parameter>.
<parameter>newScope</parameter>.
</para>

<para>
Los cierres estáticos no pueden tener ningún objeto vinculado (el valor del parámetro
<parameter>newthis</parameter> debería ser &null;), pero esta función puede,
<parameter>newThis</parameter> debería ser &null;), pero esta función puede,
no obstante, usarse para cambiar su ámbito de clase.
</para>

<para>
Esta función se asegurará de que a un cierre no estático que tenga una instancia
vinculada se le aplique un ámbito y viceversa. En este punto,
los cierres no estáticos que le son dados un ámbito, excepto una instancia &null;, son hechos
estáticos, y los cierres no estáticos y sin ámbito que le son dados una instancia no
nula se les aplica un ámbito de clase no especificado.
</para>

<note>
<para>
Si solamente se quieren duplicar las funciones anónimas, se puede usar
<link linkend="language.oop5.cloning">cloning</link> en su lugar.
</para>
</note>

</refsect1>

<refsect1 role="parameters">
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>newthis</parameter></term>
<term><parameter>newThis</parameter></term>
<listitem>
<para>
El objeto al que la función anónima dada debería ser vinculado, o
Expand All @@ -71,7 +68,7 @@
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>newscope</parameter></term>
<term><parameter>newScope</parameter></term>
<listitem>
<para>
El ámbito de la clase a la que se va a asociar el cierre, o
Expand All @@ -84,40 +81,15 @@
</varlistentry>
</variablelist>
</refsect1>

<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
Devuelve el objeto <classname>Closure</classname> recién creado
&return.falseforfailure;
Devuelve el objeto <classname>Closure</classname> recién creado,
o &null; en caso de error.
</para>
</refsect1>

<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>7.0.0</entry>
<entry>
<parameter>newscope</parameter> ya no puede ser (un objeto de) una clase
interna, lo cual era posible antes de esta versión.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>


<refsect1 role="examples">
&reftitle.examples;
<example>
Expand All @@ -127,6 +99,7 @@
<?php
class A {
private $val;
function __construct($val) {
$this->val = $val;
}
Expand Down Expand Up @@ -155,18 +128,17 @@ echo $cl(), "\n";
</screen>
</example>
</refsect1>


<refsect1 role="seealso">
&reftitle.seealso;
<simplelist>
<member><link linkend="functions.anonymous">Funciones anónimas</link></member>
<member><methodname>Closure::bind</methodname></member>
</simplelist>
</refsect1>

</refentry>

</refentry>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
Expand Down
17 changes: 7 additions & 10 deletions language/predefined/closure/call.xml
Original file line number Diff line number Diff line change
@@ -1,30 +1,28 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- $Revision$ -->
<!-- EN-Revision: 02678aa8dcd702584ebac06a545722fabde262ba Maintainer: seros Status: ready -->
<!-- EN-Revision: 9c74079f12d67cabb52c124d761f48275417d7eb Maintainer: seros Status: ready -->
<!-- Reviewed: no Maintainer: mariano -->

<refentry xml:id="closure.call" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<refnamediv>
<refname>Closure::call</refname>
<refpurpose>Vincula y llama al cierre</refpurpose>
</refnamediv>
<refsect1 role="description"><!-- {{{ -->
&reftitle.description;
<methodsynopsis>
<methodsynopsis role="Closure">
<modifier>public</modifier> <type>mixed</type><methodname>Closure::call</methodname>
<methodparam><type>object</type><parameter>newthis</parameter></methodparam>
<methodparam choice="opt"><type>mixed</type><parameter>...</parameter></methodparam>
<methodparam><type>object</type><parameter>newThis</parameter></methodparam>
<methodparam rep="repeat"><type>mixed</type><parameter>args</parameter></methodparam>
</methodsynopsis>
<para>
Vincula temporalmente el cierre a <parameter>newthis</parameter>, y lo
Vincula temporalmente el cierre a <parameter>newThis</parameter>, y lo
llama con cualquier parámetro dado.
</para>
</refsect1><!-- }}} -->
<refsect1 role="parameters"><!-- {{{ -->
&reftitle.parameters;
<variablelist>
<varlistentry>
<term><parameter>newthis</parameter></term>
<term><parameter>newThis</parameter></term>
<listitem>
<para>
El <type>object</type> a vincular al cierre mientras dure la
Expand All @@ -33,7 +31,7 @@
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>...</parameter></term>
<term><parameter>args</parameter></term>
<listitem>
<para>
Cero o más parámetros, que serán dados como parámetros al
Expand Down Expand Up @@ -87,7 +85,6 @@ int(8)
</example>
</refsect1>
</refentry>

<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
Expand Down
Loading

0 comments on commit 3cbecfe

Please sign in to comment.