Skip to content

Instantly share code, notes, and snippets.

@DavidePastore
Created April 10, 2021 11:20
Show Gist options
  • Save DavidePastore/e79fe9b19e32f3996e6a13ba9a607cb9 to your computer and use it in GitHub Desktop.
Save DavidePastore/e79fe9b19e32f3996e6a13ba9a607cb9 to your computer and use it in GitHub Desktop.
Updated version of reserved.xml of doc-it
<?xml version="1.0" encoding="utf-8"?>
<!-- EN Version: 5c8a92d1c5ab04b7895854172db0a6d257eca283 Maintainer: lucalzetta Status: ready -->
<!-- $Revision$ -->
<appendix xml:id="reserved" xmlns="http://docbook.org/ns/docbook" xmlns:xlink="http://www.w3.org/1999/xlink">
<title>Lista delle parole riservate</title>
<para>
Quella che segue è una lista degli identificatori predefiniti in PHP. Nessuno
degli identificatori elencati qui può essere usato come identificatore in alcuno
dei vostri scripts senza essere esplicitamente annotato diversamente. Queste liste includono parole chiave e variabili predefinite,
costanti, e nomi di classi. Questa lista non è esaustiva e neppure
completa.
</para>
<sect1 xml:id="reserved.keywords">
<title>Elenco delle parole chiave</title>
<simpara>
Queste parole hanno un significato speciale in PHP. Alcune di esse rappresentano oggetti
che appaiono come funzioni, altre come costanti, e altro ancora - ma
non lo sono, in realtà: sono dei costrutti del linguaggio. Non si può usare alcuna
delle seguenti parole come constante, nome di classe, nome di funzione o metodo.
L'uso di queste parole per nominare una variabile generalmente è consentito ma potrebbe generare confusione.
</simpara>
<simpara>
A partire da PHP 7.0.0 queste parole chiave sono consentite come nomi di proprietà, constanti, e
metodi di classi, interfacce e tratti, ad eccezione di
<literal>class</literal> non possono essere usate come nomi di costanti.
</simpara>
<table>
<title>Parole chiave di 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> (a partire da PHP 5.4)
</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> (a partire da PHP 5.5)
</entry>
<entry>
<link linkend="functions.arrow">fn</link> (a partire da PHP 7.4)
</entry>
<entry>
<link linkend="control-structures.for">for</link>
</entry>
<entry>
&foreach;
</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> (a partire da PHP 5.3)
</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> (a partire da PHP 5.4)
</entry>
<entry>
<link linkend="language.oop5.interfaces">interface</link>
</entry>
</row>
<row>
<entry>
<function>isset</function>
</entry>
<entry>
<function>list</function>
</entry>
<entry>
<link linkend="control-structures.match">match</link> (a partire da PHP 8.0)
</entry>
<entry>
<link linkend="language.namespaces">namespace</link> (a partire da PHP 5.3)
</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>
<function>require</function>
</entry>
<entry>
<function>require_once</function>
</entry>
<entry>
<function>return</function>
</entry>
<entry>
<link linkend="language.variables.scope">static</link>
</entry>
<entry>
<link linkend="control-structures.switch">switch</link>
</entry>
</row>
<row>
<entry>
<link linkend="language.exceptions">throw</link>
</entry>
<entry>
<link linkend="language.oop5.traits">trait</link> (a partire da PHP 5.4)
</entry>
<entry>
<link linkend="language.exceptions">try</link>
</entry>
<entry>
<function>unset</function>
</entry>
<entry>
<link linkend="language.namespaces">use</link>
</entry>
</row>
<row>
<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> (a partire da PHP 5.5)
</entry>
<entry>
<link linkend="control-structures.yield.from">yield from</link> (a partire da PHP 7.0)
</entry>
</row>
</tbody>
</tgroup>
</table>
<table>
<title>Costanti Compile-time</title>
<tgroup cols="5">
<tbody>
<row>
<entry>
<link linkend="language.constants.predefined">__CLASS__</link>
</entry>
<entry>
<link linkend="language.constants.predefined">__DIR__</link> (a partire da PHP 5.3)
</entry>
<entry>
<link linkend="language.constants.predefined">__FILE__</link>
</entry>
<entry>
<link linkend="language.constants.predefined">__FUNCTION__</link>
</entry>
<entry>
<link linkend="language.constants.predefined">__LINE__</link>
</entry>
<entry>
<link linkend="language.constants.predefined">__METHOD__</link>
</entry>
</row>
<row>
<entry>
<link linkend="language.namespaces.nsconstants">__NAMESPACE__</link> (a partire da PHP 5.3)
</entry>
<entry>
<link linkend="language.constants.predefined">__TRAIT__</link> (a partire da PHP 5.4)
</entry>
<entry>
</entry>
<entry>
</entry>
<entry>
</entry>
<entry>
</entry>
</row>
</tbody>
</tgroup>
</table>
</sect1>
<sect1 xml:id="reserved.classes">
<title>Classi predefinite</title>
<para>
Questa sezione elenca le classi predefinite standard. Varie extensions
definiscono altre classi che sono descritte nelle loro referenze.
</para>
<sect2 xml:id="reserved.classes.standard">
<title>Classi Predefinite Standard</title>
<simpara>
Queste classi sono definite nel set di funzioni standard incluse
nella build di PHP.
</simpara>
<variablelist>
<varlistentry>
<term><classname>Directory</classname></term>
<listitem>
<simpara>
Creata da <function>dir</function>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>stdClass</classname></term>
<listitem>
<simpara>
Creata da <link linkend="language.types.object.casting">typecasting
in oggetto</link>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>__PHP_Incomplete_Class</classname></term>
<listitem>
<simpara>
Forse creata da <function>unserialize</function>.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 xml:id="reserved.classes.php5">
<title>Classi predefinite a partire da PHP 5</title>
<simpara>
Queste ulteriori classi predefinite sono state introdotte in
PHP 5.0.0.
</simpara>
<variablelist>
<varlistentry>
<term><classname>Exception</classname></term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>ErrorException</classname></term>
<listitem>
<simpara>
Disponibile da PHP 5.1.0.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>php_user_filter</classname></term>
<listitem>
<simpara>
</simpara>
</listitem>
</varlistentry>
</variablelist>
</sect2>
<sect2 xml:id="reserved.classes.closure">
<title>Closure</title>
<simpara>
La classe final predefinita <classname>Closure</classname> fu introdotta
in PHP 5.3.0. Essa è usata per rappresentare <link
linkend="functions.anonymous">funzioni anonime</link>.
</simpara>
<simpara>
Per ulteriori informazioni si può consultare <link linkend="class.closure">la pagina
della classe</link>.
</simpara>
</sect2>
<sect2 xml:id="reserved.classes.generator">
<title>Generator</title>
<simpara>
La classe final predefinita <classname>Generator</classname> fu introdotta
in PHP 5.5.0. Essa è usata per rappresentare <link
linkend="language.generators">generatori</link>.
</simpara>
<simpara>
Per ulteriori informazioni si può consultare <link linkend="class.generator">la pagina
della classe</link>.
</simpara>
</sect2>
<sect2 xml:id="reserved.classes.php7">
<title>Interfacce e classi predefinite a partire da PHP 7</title>
<simpara>
Queste interfacce e classi predefinite furono introdotte in
PHP 7.0.0.
</simpara>
<variablelist>
<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>Classi speciali</title>
<simpara>
I seguenti identificatori non possono essere usati come nomi di classe in quanto hanno
uno scopo speciale.
</simpara>
<variablelist>
<varlistentry>
<term><classname>self</classname></term>
<listitem>
<simpara>
<link linkend="language.oop5.paamayim-nekudotayim">Classe
corrente</link>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>static</classname></term>
<listitem>
<simpara>
<link linkend="language.oop5.late-static-bindings">Classe corrente in
runtime</link>.
</simpara>
</listitem>
</varlistentry>
<varlistentry>
<term><classname>parent</classname></term>
<listitem>
<simpara>
<link linkend="language.oop5.paamayim-nekudotayim">Classe
padre</link>.
</simpara>
</listitem>
</varlistentry>
</variablelist>
</sect2>
</sect1>
&appendices.reserved.constants;
<sect1 xml:id="reserved.other-reserved-words">
<title>Elenco di altre parole riservate</title>
<simpara>
Le seguenti parole non possono essere usate per nominare una classe, interfacce o traits e
non è neanche consentito usarle all'interno di namespace.
</simpara>
<para>
<table>
<title>Parole riservate</title>
<tgroup cols="5">
<tbody>
<row>
<entry>
int (a partire da PHP 7)
</entry>
<entry>
float (a partire da PHP 7)
</entry>
<entry>
bool (a partire da PHP 7)
</entry>
<entry>
string (a partire da PHP 7)
</entry>
</row>
<row>
<entry>
true (a partire da PHP 7)
</entry>
<entry>
false (a partire da PHP 7)
</entry>
<entry>
null (a partire da PHP 7)
</entry>
<entry>
void (a partire da PHP 7.1)
</entry>
</row>
<row>
<entry>
iterable (a partire da PHP 7.1)
</entry>
<entry>
object (a partire da PHP 7.2)
</entry>
</row>
</tbody>
</tgroup>
</table>
</para>
<para>
La seguente lista di parole ha una leggera riserva d'uso.
Nonostante esse possano essere usate come nomi di classi, interfacce, e traits (così
come all'interno di namespace), il loro uso è fortemente scoraggiato perchè potrebbero
venire adottate in successive versioni di PHP.
</para>
<para>
<table>
<title>Parole con riserva leggera</title>
<tgroup cols="5">
<tbody>
<row>
<entry>
resource (a partire da PHP 7)
</entry>
<entry>
mixed (a partire da PHP 7)
</entry>
<entry>
numeric (a partire da PHP 7)
</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
-->
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment