Files
archived-doc-pt-br/appendices/reserved.xml
Leonardo Lara Rodrigues 452d861bfb sync with en rev
2025-11-04 18:29:39 -03:00

626 lines
16 KiB
XML
Executable File

<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: 170b6cda37f29c39b9e08375344c5eb9523b2de3 Maintainer: leonardolara Status: ready --><!-- CREDITS: ae,thiago,AlexAntonio,royopa,lcobucci,fabioluciano,adiel,geekcom,ABDALAZARD,leonardolara -->
<appendix xml:id="reserved" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Lista de Palavras Reservadas do PHP</title>
<para>
Esta é uma lista de identificadores predefinidos do PHP. Nenhum
dos identificadores listados aqui deve ser usado como identificador em qualquer um dos
seus scripts a menos que seja explicitamente indicado. Esta lista inclui palavras-chave e variáveis predefinidas,
constantes e nomes de classes. Estas listas ainda não são exaustivas nem
completas.
</para>
<sect1 xml:id="reserved.keywords">
<title>Lista de Palavras-chave</title>
<simpara>
Estas palavras têm um significado especial no PHP. Algumas delas representam coisas
que parecem funções, algumas parecem constantes, e assim por diante - mas
na verdade não o são realmente: elas são constructos da linguagem.
As palavras seguintes não podem ser usadas como constantes, nomes de classes, ou nome de funções.
Estas palavras-chave são permitidas em propriedades, constantes e
nomes de métodos em classes, interfaces e traits, com exceção de
<literal>class</literal>, que não pode ser utilizada como nome de constante.
</simpara>
<table>
<title>Palavras-chave do PHP</title>
<tgroup cols="5">
<tbody>
<row>
<entry>
<function>__halt_compiler</function>
</entry>
<entry>
<link linkend="language.oop5.abstract">abstract</link>
</entry>
<entry>
<link linkend="language.operators.logical">and</link>
</entry>
<entry>
<function>array</function>
</entry>
<entry>
<link linkend="control-structures.foreach">as</link>
</entry>
</row>
<row>
<entry>
<link linkend="control-structures.break">break</link>
</entry>
<entry>
<link linkend="language.types.callable">callable</link>
</entry>
<entry>
<link linkend="control-structures.switch">case</link>
</entry>
<entry>
<link linkend="language.exceptions">catch</link>
</entry>
<entry>
<link linkend="language.oop5.basic.class">class</link>
</entry>
</row>
<row>
<entry>
<link linkend="language.oop5.cloning">clone</link>
</entry>
<entry>
<link linkend="language.oop5.constants">const</link>
</entry>
<entry>
<link linkend="control-structures.continue">continue</link>
</entry>
<entry>
<link linkend="control-structures.declare">declare</link>
</entry>
<entry>
<link linkend="control-structures.switch">default</link>
</entry>
</row>
<row>
<entry>
<function>die</function>
</entry>
<entry>
<link linkend="control-structures.do.while">do</link>
</entry>
<entry>
<function>echo</function>
</entry>
<entry>
<link linkend="control-structures.else">else</link>
</entry>
<entry>
<link linkend="control-structures.elseif">elseif</link>
</entry>
</row>
<row>
<entry>
<function>empty</function>
</entry>
<entry>
<link linkend="control-structures.declare">enddeclare</link>
</entry>
<entry>
<link linkend="control-structures.alternative-syntax">endfor</link>
</entry>
<entry>
<link linkend="control-structures.alternative-syntax">endforeach</link>
</entry>
<entry>
<link linkend="control-structures.alternative-syntax">endif</link>
</entry>
</row>
<row>
<entry>
<link linkend="control-structures.alternative-syntax">endswitch</link>
</entry>
<entry>
<link linkend="control-structures.alternative-syntax">endwhile</link>
</entry>
<entry>
<function>eval</function>
</entry>
<entry>
<function>exit</function>
</entry>
<entry>
<link linkend="language.oop5.basic.extends">extends</link>
</entry>
</row>
<row>
<entry>
<link linkend="language.oop5.final">final</link>
</entry>
<entry>
<link linkend="language.exceptions">finally</link>
</entry>
<entry>
<link linkend="functions.arrow">fn</link> (desde o PHP 7.4)
</entry>
<entry>
<link linkend="control-structures.for">for</link>
</entry>
<entry>
<link linkend="control-structures.foreach">foreach</link>
</entry>
</row>
<row>
<entry>
<link linkend="functions.user-defined">function</link>
</entry>
<entry>
<link linkend="language.variables.scope">global</link>
</entry>
<entry>
<link linkend="control-structures.goto">goto</link>
</entry>
<entry>
<link linkend="control-structures.if">if</link>
</entry>
<entry>
<link linkend="language.oop5.interfaces">implements</link>
</entry>
</row>
<row>
<entry>
<function>include</function>
</entry>
<entry>
<function>include_once</function>
</entry>
<entry>
<link linkend="language.operators.type">instanceof</link>
</entry>
<entry>
<link linkend="language.oop5.traits.conflict">insteadof</link>
</entry>
<entry>
<link linkend="language.oop5.interfaces">interface</link>
</entry>
</row>
<row>
<entry>
<function>isset</function>
</entry>
<entry>
<function>list</function>
</entry>
<entry>
&match; (desde o PHP 8.0)
</entry>
<entry>
<link linkend="language.namespaces">namespace</link>
</entry>
<entry>
<link linkend="language.oop5.basic.new">new</link>
</entry>
</row>
<row>
<entry>
<link linkend="language.operators.logical">or</link>
</entry>
<entry>
<function>print</function>
</entry>
<entry>
<link linkend="language.oop5.visibility">private</link>
</entry>
<entry>
<link linkend="language.oop5.visibility">protected</link>
</entry>
<entry>
<link linkend="language.oop5.visibility">public</link>
</entry>
</row>
<row>
<entry>
<link linkend="language.oop5.properties.readonly-properties">readonly</link> (desde o PHP 8.1.0) *
</entry>
<entry>
<function>require</function>
</entry>
<entry>
<function>require_once</function>
</entry>
<entry>
<function>return</function>
</entry>
<entry>
<link linkend="language.variables.scope">static</link>
</entry>
</row>
<row>
<entry>
<link linkend="control-structures.switch">switch</link>
</entry>
<entry>
<link linkend="language.exceptions">throw</link>
</entry>
<entry>
<link linkend="language.oop5.traits">trait</link>
</entry>
<entry>
<link linkend="language.exceptions">try</link>
</entry>
<entry>
<function>unset</function>
</entry>
</row>
<row>
<entry>
<link linkend="language.namespaces.importing">use</link>
</entry>
<entry>
<link linkend="language.oop5.properties">var</link>
</entry>
<entry>
<link linkend="control-structures.while">while</link>
</entry>
<entry>
<link linkend="language.operators.logical">xor</link>
</entry>
<entry>
<link linkend="language.generators">yield</link>
</entry>
</row>
<row>
<entry>
<link linkend="control-structures.yield.from">yield from</link>
</entry>
<entry></entry>
<entry></entry>
<entry></entry>
<entry></entry>
</row>
</tbody>
</tgroup>
</table>
<simpara>
* <literal>readonly</literal> pode ser utilizado como nome de função
</simpara>
<table>
<title>Constantes de tempo de compilação</title>
<tgroup cols="5">
<tbody>
<row>
<entry>
<link linkend="language.constants.magic">__CLASS__</link>
</entry>
<entry>
<link linkend="language.constants.magic">__DIR__</link>
</entry>
<entry>
<link linkend="language.constants.magic">__FILE__</link>
</entry>
<entry>
<link linkend="language.constants.magic">__FUNCTION__</link>
</entry>
<entry>
<link linkend="language.constants.magic">__LINE__</link>
</entry>
</row>
<row>
<entry>
<link linkend="language.constants.magic">__METHOD__</link>
</entry>
<entry>
<link linkend="language.constants.magic">__PROPERTY__</link>
</entry>
<entry>
<link linkend="language.namespaces.nsconstants">__NAMESPACE__</link>
</entry>
<entry>
<link linkend="language.constants.magic">__TRAIT__</link>
</entry>
<entry>
</entry>
<entry>
</entry>
<entry>
</entry>
<entry>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>
<sect1 xml:id="reserved.classes">
<title>Classes Predefinidas</title>
<para>
Esta seção lista classes predefinidas padrão. Extensões diversas
definem outras classes que são descritas em suas referências.
</para>
<sect2 xml:id="reserved.classes.standard">
<title>Classes Definidas Padrão</title>
<simpara>
Estas classes são definidas dentro do conjunto padrão de funções incluídas
na compilação do PHP.
</simpara>
<variablelist>
<varlistentry>
<term><classname>Directory</classname></term>
<listitem>
<simpara>
Criada pela função <function>dir</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>stdClass</classname></term>
<listitem>
<simpara>
Uma classe vazia criada como o resultado de
<link linkend="language.types.object.casting">coerção para
objeto</link> ou funções padrão da linguagem.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>__PHP_Incomplete_Class</classname></term>
<listitem>
<simpara>
Possivelmente criada pela função <function>unserialize</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>Exception</classname></term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>ErrorException</classname></term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>php_user_filter</classname></term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>Closure</classname></term>
<listitem>
<simpara>
A classe predefinida final <classname>Closure</classname>
é utilizada para representar <link
linkend="functions.anonymous">funções anônimas</link>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>Generator</classname></term>
<listitem>
<simpara>
A classe predefinida final <classname>Generator</classname>
é utilizada para representar <link
linkend="language.generators">geradores</link>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>ArithmeticError</classname></term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>AssertionError</classname></term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>DivisionByZeroError</classname></term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>Error</classname></term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>Throwable</classname></term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>ParseError</classname></term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>TypeError</classname></term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 xml:id="reserved.classes.special">
<title>Classes especiais</title>
<simpara>
Os seguintes identificadores não podem ser usados como nome de classe pois eles têm um
propósito especial.
</simpara>
<variablelist>
<varlistentry>
<term><classname>self</classname></term>
<listitem>
<simpara>
<link linkend="language.oop5.paamayim-nekudotayim">Classe
atual</link>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>static</classname></term>
<listitem>
<simpara>
<link linkend="language.oop5.late-static-bindings">Classe atual em
tempo de execução</link>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>parent</classname></term>
<listitem>
<simpara>
<link linkend="language.oop5.paamayim-nekudotayim">Classe
pai</link>.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
&appendices.reserved.constants;
<sect1 xml:id="reserved.other-reserved-words">
<title>Lista de outras palavras reservadas</title>
<simpara>
As palavras a seguir não podem ser utilizadas como nome de classes, interfaces ou traits.
Anteriormente ao PHP 8.0, também eram proibidas de ser usadas em namespaces.
</simpara>
<para>
<table>
<title>Palavras reservadas</title>
<tgroup cols="4">
<tbody>
<row>
<entry>
parent
</entry>
<entry>
self
</entry>
<entry>
int
</entry>
<entry>
float
</entry>
</row>
<row>
<entry>
bool
</entry>
<entry>
string
</entry>
<entry>
true
</entry>
<entry>
false
</entry>
</row>
<row>
<entry>
null
</entry>
<entry>
void (a partir do PHP 7.1)
</entry>
<entry>
iterable (a partir do PHP 7.1)
</entry>
<entry>
object (a partir do PHP 7.2)
</entry>
</row>
<row>
<entry>
mixed (a partir do PHP 8.0)
</entry>
<entry>
never (a partir do PHP 8.1)
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
A seguinte lista de palavras tem reservas brandas.
Embora elas possam ser utilizadas como nomes de classes, interfaces e traits,
seu uso é altamente desencorajado pois elas podem se
tornar palavras reservadas em versões futuras do PHP.
</para>
<para>
<table>
<title>Palavras reservadas brandas</title>
<tgroup cols="4">
<tbody>
<row>
<entry>
enum
</entry>
<entry>
resource
</entry>
<entry>
numeric
</entry>
<entry>
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
</sect1>
</appendix>
<!-- Keep this comment at the end of the file
Local variables:
mode: sgml
sgml-omittag:t
sgml-shorttag:t
sgml-minimize-attributes:nil
sgml-always-quote-attributes:t
sgml-indent-step:1
sgml-indent-data:t
indent-tabs-mode:nil
sgml-parent-document:nil
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
sgml-exposed-tags:nil
sgml-local-catalogs:nil
sgml-local-ecat-files:nil
End:
vim600: syn=xml fen fdm=syntax fdl=2 si
vim: et tw=78 syn=sgml
vi: ts=1 sw=1
-->