diff --git a/language/operators.xml b/language/operators.xml
index ba7f734f2..67eedfdc7 100644
--- a/language/operators.xml
+++ b/language/operators.xml
@@ -1,5 +1,5 @@
-
+
Operadores
@@ -42,6 +42,7 @@
&language.operators.string;
&language.operators.array;
&language.operators.type;
+ &language.operators.functional;
+
+ Operadores Funcionais
+ Funcional
+
+ O PHP 8.5 e versões posteriores suportam um operador que funciona diretamente em chamáveis. O operador |>,
+ ou "pipe", aceita um chamável de parâmetro único à direita e passa
+ o valor do lado esquerdo para ele, avaliando o resultado do chamável. O chamável
+ à direita pode ser qualquer chamável PHP válido: um Closure,
+ um chamável de primeira classe,
+ um objeto que implementa __invoke(), etc.
+
+
+ Isso significa que as duas linhas seguintes são logicamente equivalentes.
+
+ Usando |>
+
+ strlen(...);
+print $result . PHP_EOL;
+
+$result = strlen("Hello World");
+print $result . PHP_EOL;
+?>
+]]>
+
+ &example.outputs;
+
+
+
+
+
+
+ Para uma única chamada, isso não é muito útil. Torna-se útil quando várias chamadas são encadeadas.
+ Ou seja, os dois fragmentos de código a seguir são logicamente equivalentes:
+
+ Encadeando chamadas com |>
+
+ htmlentities(...)
+ |> str_split(...)
+ |> (fn($x) => array_map(strtoupper(...), $x))
+ |> (fn($x) => array_filter($x, fn($v) => $v != 'O'))
+;
+print $result . PHP_EOL;
+
+$temp = "PHP Rocks";
+$temp = htmlentities($temp);
+$temp = str_split($temp);
+$temp = array_map(strtoupper(...), $temp);
+$temp = array_filter($temp, fn($v) => $v != 'O');
+$result = $temp;
+print $result . PHP_EOL;
+?>
+]]>
+
+ &example.outputs;
+
+ P
+ [1] => H
+ [2] => P
+ [3] =>
+ [4] => R
+ [6] => C
+ [7] => K
+ [8] => S
+)
+Array
+(
+ [0] => P
+ [1] => H
+ [2] => P
+ [3] =>
+ [4] => R
+ [6] => C
+ [7] => K
+ [8] => S
+)
+]]>
+
+
+
+
+ O lado esquerdo do pipe pode ser qualquer valor ou expressão. O lado direito
+ pode ser qualquer chamável PHP válido que receba um único parâmetro, ou qualquer expressão
+ que seja avaliado como tal chamável. Funções com mais de um parâmetro obrigatório
+ não são permitidas e falharão como se fossem chamadas normalmente
+ com argumentos insuficientes. Funções que recebem uma variável por referência não são permitidas.
+ Se o lado direito não for avaliado como um chamável válido, será gerado um erro.
+
+
+
+ Esteja ciente de que, para evitar ambiguidade de sintaxe, funções de seta
+ PRECISAM ser colocadas entre parênteses quando usadas com um operador de pipe, como nos exemplos acima.
+ Caso contrário, ocorrerá um erro fatal.
+
+
+
+
+ &reftitle.seealso;
+
+
+ Closure
+
+
+
+