Skip to content

Commit 1a85c67

Browse files
authored
[Sync EN] Add (void) casting syntax for PHP 8.5 (#5546) (#588)
1 parent 5a3b630 commit 1a85c67

2 files changed

Lines changed: 42 additions & 2 deletions

File tree

language/types/type-juggling.xml

Lines changed: 8 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<!-- EN-Revision: 78a11d3ca004ee937549d932e77a79c51b9777cd Maintainer: PhilDaiguille Status: ready -->
2+
<!-- EN-Revision: 50f76f26914c5a9e61aa26f2e36c4acb362a48fd Maintainer: lacatoire Status: ready -->
33
<!-- Reviewed: no Maintainer: Marqitos -->
44
<sect1 xml:id="language.types.type-juggling">
55
<title>Manipulación de tipos</title>
@@ -317,6 +317,12 @@ var_dump($bar);
317317
<member><literal>(unset)</literal> - cast en <type>NULL</type></member>
318318
</simplelist>
319319

320+
<simpara>
321+
El cast <link linkend="language.types.void.casting"><literal>(void)</literal></link>
322+
también está disponible a partir de PHP 8.5.0, pero no es una conversión de valor.
323+
Se utiliza como una sentencia para descartar explícitamente el resultado de una expresión.
324+
</simpara>
325+
320326
<warning>
321327
<para>
322328
<literal>(integer)</literal> es un alias del cast <literal>(int)</literal>.
@@ -422,6 +428,7 @@ if ($fst === $str) {
422428
<member><link linkend="language.types.object.casting">Convertir en object</link></member>
423429
<member><link linkend="language.types.resource.casting">Convertir en resource</link></member>
424430
<member><link linkend="language.types.null.casting">Convertir en NULL</link></member>
431+
<member><link linkend="language.types.void.casting">Descartar un valor con <literal>(void)</literal></link></member>
425432
<member><link linkend="types.comparisons">Las tablas de comparación de tipo</link></member>
426433
</simplelist>
427434
</para>

language/types/void.xml

Lines changed: 34 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
<?xml version="1.0" encoding="utf-8"?>
2-
<!-- EN-Revision: 161dde4fe721309398dd324edbf02aec409f127b Maintainer: PhilDaiguille Status: ready -->
2+
<!-- EN-Revision: 50f76f26914c5a9e61aa26f2e36c4acb362a48fd Maintainer: lacatoire Status: ready -->
33
<!-- Reviewed: no Maintainer: Marqitos -->
44
<sect1 xml:id="language.types.void">
55
<title>Void</title>
@@ -19,6 +19,39 @@
1919
</simpara>
2020
</note>
2121

22+
<sect2 xml:id="language.types.void.casting">
23+
<title>Descartar un valor con <literal>(void)</literal></title>
24+
25+
<simpara>
26+
La sintaxis <literal>(void)</literal> puede utilizarse para descartar
27+
explícitamente el resultado de una expresión. Esto es útil para indicar
28+
que ignorar un valor de retorno es intencional, especialmente cuando se
29+
llama a una función o método marcado con el atributo
30+
<classname>NoDiscard</classname>.
31+
</simpara>
32+
33+
<simpara>
34+
A diferencia de otros casts, <literal>(void)</literal> no convierte el
35+
valor a otro tipo y no produce un valor. Es una sentencia y no puede
36+
utilizarse como parte de una expresión.
37+
</simpara>
38+
39+
<example>
40+
<title>Descartar un valor de retorno</title>
41+
<programlisting role="php" annotations="non-interactive">
42+
<![CDATA[
43+
<?php
44+
#[\NoDiscard]
45+
function process(): bool {
46+
return true;
47+
}
48+
49+
(void) process(); // Descartar explícitamente el valor de retorno
50+
?>
51+
]]>
52+
</programlisting>
53+
</example>
54+
</sect2>
2255
</sect1>
2356
<!-- Keep this comment at the end of the file
2457
Local variables:

0 commit comments

Comments
 (0)