|
1 | | -<?xml version="1.0" encoding="utf-8"?> <!-- EN-Revision: 77325b622f91355b118e8f3bc9ff940e8201f55d Maintainer: leonardolara Status: ready --><!-- CREDITS: adaiasmagdiel, leonardolara --> |
| 1 | +<?xml version="1.0" encoding="utf-8"?> <!-- EN-Revision: 0019a7e201442447fd746c2852d28ba839ed15ae Maintainer: leonardolara Status: ready --><!-- CREDITS: adaiasmagdiel, leonardolara --> |
2 | 2 | <reference xml:id="class.returntypewillchange" role="class" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink" xmlns:xi="http://www.w3.org/2001/XInclude"> |
3 | 3 | <title>O atributo ReturnTypeWillChange</title> |
4 | 4 | <titleabbrev>ReturnTypeWillChange</titleabbrev> |
|
7 | 7 |
|
8 | 8 | <section xml:id="returntypewillchange.intro"> |
9 | 9 | &reftitle.intro; |
10 | | - <para> |
| 10 | + <simpara> |
11 | 11 | A maioria dos métodos internos não finais agora requerem que os métodos substitutos declarem |
12 | 12 | um tipo de retorno compatível, caso contrário, um aviso de descontinuação é emitido durante |
13 | | - a validação da herança. |
| 13 | + a validação da herança. Isto introduz uma fase de tipo de retorno provisório: |
| 14 | + o mecanismo emite uma nota de descontinuação em vez de um erro fatal quando os tipo de |
| 15 | + retorno são incompatíveis, antes que sejam obrigatórios em uma versão futura. |
14 | 16 | Caso o tipo de retorno não possa ser declarado para um método substituto devido |
15 | 17 | a preocupação com compatibilidade entre versões do PHP, |
16 | 18 | um atributo <code>#[\ReturnTypeWillChange]</code> pode ser adicionado para silenciar |
17 | 19 | o aviso de descontinuação. |
18 | | - </para> |
| 20 | + </simpara> |
| 21 | + |
| 22 | + <warning> |
| 23 | + <simpara> |
| 24 | + O atributo <classname>ReturnTypeWillChange</classname> suprime |
| 25 | + os avisos de descontinuação <emphasis>somente</emphasis> durante a fase de tipo de retorno provisório. |
| 26 | + Ele não tem efeito ao substituir métodos definidos em classes definidas pelo usuário. |
| 27 | + Assim que os métodos internos adotarem tipos estritos, a não correspondência em substituições de assinaturas |
| 28 | + de métodos causará um erro fatal e este atributo não terá mais nenhum efeito. |
| 29 | + </simpara> |
| 30 | + </warning> |
| 31 | + |
19 | 32 | </section> |
20 | 33 |
|
21 | 34 | <section xml:id="returntypewillchange.synopsis"> |
|
0 commit comments