cortesi Thu Dec 6 19:33:37 2001 EDT Modified files: /phpdoc/it/language constants.xml Log: translated by baldo, now maintainer is me
Index: phpdoc/it/language/constants.xml diff -u /dev/null phpdoc/it/language/constants.xml:1.7 --- /dev/null Thu Dec 6 19:33:37 2001 +++ phpdoc/it/language/constants.xml Thu Dec 6 19:33:37 2001 @@ -0,0 +1,294 @@ +<?xml version="1.0" encoding="iso-8859-1"?> +<!-- EN-Revision: 1.22 Maintainer: cortesi Status: ready --> + <chapter id="language.constants"> + <title>Costanti</title> + + <simpara> + Una costante è un identificatore (nome) per un valore. Come si può intuire, + tale valore non può cambiare durante l'esecuzione dello script + (le costanti <constant>__FILE__</constant> e + <constant>__LINE__</constant> sono l'unica eccezione). Una costante è + "case-sensitive" per default. È convenzione comune che i nomi di costante + siano sempre maiuscoli. + </simpara> + <para> + In PHP il nome di una costante segue le regole di qualsiasi "etichetta". + Un nome di costante valido inizia con una lettera o underscore, seguita + da un numero qualsiasi di caratteri alfanumerici o underscore. + L'espressione regolare che esprime questa convenzione è: + <literal>[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*</literal> + + <!-- TODO: Example of valid & invalid constant names --> + </para> + + <note> + <simpara> + In questo contesto una lettera è a-z, A-Z e i caratteri ASCII + dal 127 al 255 (0x7f-0xff). + </simpara> + </note> + <simpara> + Una costante è sempre globale. + </simpara> + <sect1 id="language.constants.syntax"> + <title>Sintassi</title> + <simpara> + È possibile definire una variabile utilizzando la funzione + <function>define</function>. Una volta definita una variabile, + non è possibile cambiarne il valore o eliminarla. + </simpara> + <simpara> + Le costanti possono contenere solo dati di tipo scalare + (<type>boolean</type>, <type>integer</type>, + <type>double</type> and <type>string</type>). + </simpara> + <simpara> + Per ottenere il valore di una costante è sufficiente specificarne il nome. + A differenza delle variabili, <emphasis>non</emphasis> è necessario + anteporre il simbolo <literal>$</literal> al nome di una variabile. + Si può anche utilizzare la funzione <function>constant</function>, + per leggere il valore di una costante, nel caso in cui se ne ottenga + dinamicamente il nome. + Si utilizzi <function>get_defined_constants</function> per ottenere + una lista delle variabili definite. + </simpara> + <note> + <simpara> + Costanti e variabili (globali) si trovano in un "namespace" differente. + Questo implica che generalmente &true; e + <varname>$TRUE</varname> sono differenti. + </simpara> + </note> + <simpara> + Se si utilizza il nome di una costante che non è definita, PHP assume che + detto valore sia il nome della costante stessa. Quando ciò accade + PHP lo seganala il problema con con un <link +linkend="features.error-handling">notice</link>. + Per sapere se una costante è definita, si può utilizzare la + funzione <function>defined</function>. + </simpara> + <para> + Di seguito sono riportate le principali differenze dalle variabili: + <itemizedlist> + <listitem> + <simpara> + Le costanti non richiedono il simbolo di dollaro (<literal>$</literal>) anteposto +al nome; + </simpara> + </listitem> + <listitem> + <simpara> + Le costanti si possono definire e utilizzare in qualsiasi contesto +indipendentemente + dalle regole dello spazio dei nomi; + </simpara> + </listitem> + <listitem> + <simpara> + Le costanti non si possono ridefinire o eliminare una volta che siano + state definite; e + </simpara> + </listitem> + <listitem> + <simpara> + Le costanti possono contenere solo valori scalari. + </simpara> + </listitem> + </itemizedlist> + </para> + + <para> + <example> + <title>Definizione di costanti</title> + <programlisting> +<![CDATA[ +<?php +define("COSTANTE", "Ciao mondo."); +echo COSTANTE; // stampa "Ciao mondo." +echo Costante; // stampa "Costante" e genera una notice. +?> +]]> + </programlisting> + </example> + + </para> + + </sect1> + + <sect1 id="language.constants.predefined"> + <title>Costanti predefinite</title> + <para> + Le costanti predefinite (sempre disponibili) sono: + + <variablelist> + + <varlistentry> + <term>__FILE__ (case-insensitive)</term> + <listitem> + <simpara> + Il nome del file dello script processato. Se usato + in un file che è stato incluso tramite le funzioni include e require, allora +corrisponde al + nome del file incluso e non al nome del + file genitore. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>__LINE__ (case-insensitive)</term> + <listitem> + <simpara> + Il numero di linea all'interno del file + processato. Se usato in un file che è stato incluso tramite le funzioni +include + e require, allora corrisponde alla posizione nel file incluso. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>PHP_VERSION</term> + <listitem> + <simpara> + La rappresentazione in formato stringa della versione del motore PHP + attualmente in uso: per esempio '4.1.0'. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>PHP_OS</term> + <listitem> + <simpara> + Il nome del sistema operativo sul quale il motore PHP è + in esecuzione. Valori possibili possono essere: + "AIX", "Darwin" (MacOS), "Linux", "SunOS", "WIN32", "WINNT". + Nota: potrebbero essere presenti anche altri valori. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>&true; (case-insensitive)</term> + <listitem> + <simpara> + Un valore &true; (vedere tipo <type>boolean</type>). + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>&false; (case-insensitive)</term> + <listitem> + <simpara> + Un valore &false; (vedere tipo <type>boolean</type>). + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>&null; (case-insensitive)</term> + <listitem> + <simpara> + Un valore &null; (vedere tipo <type>boolean</type>). + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>E_ERROR</term> + <listitem> + <simpara> + Denota un errore differente da un errore di parsing. + Non è recuperabile. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>E_WARNING</term> + <listitem> + <simpara> + Denota una condizione dove il PHP sa che c'è qualcosa di sbagliato, ma + continua comunque l'esecuzione; Queste possono essere gestite dallo script + stesso. Un esempio può essere una regexp non valida in + <function>ereg</function>. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>E_PARSE</term> + <listitem> + <simpara> + Il parser ha incontrato in uno script una sintassi non valida. + L'errore non è recuperabile. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>E_NOTICE</term> + <listitem> + <simpara> + È accaduto qualcosa che può o può non essere un errore. L'esecuzione + continua. Esempi includono: usare una stringa non racchiusa da virgolette come +indice di un array + o accedere ad una variabile che non è stata definita. + </simpara> + </listitem> + </varlistentry> + + <varlistentry> + <term>E_ALL</term> + <listitem> + <simpara> + Tutte le costanti E_* racchiuse in una sola. Se usata assieme a + <function>error_reporting</function>, farà si che tutti gli errori rilevati + dal PHP siano comunicati. + </simpara> + </listitem> + </varlistentry> + + </variablelist> + </para> + + <para> + Le costanti <literal>E_*</literal> sono tipicamente usate in congiunzione alla +funzione + <function>error_reporting</function> per impostare il livello di + errori da comunicare. Vedere tutte queste costanti in + <link linkend="features.error-handling">Gestione errori</link>. + + <example> + <title>Uso di __FILE__ e __LINE__</title> + <programlisting role="php"> +<![CDATA[ +<?php +function comunica_errore($file, $linea, $messaggio) +{ + echo "È avvenuto un errore in $file alla linea $linea: $messaggio."; +} + +report_error(__FILE__, __LINE__, "Qualcosa è andato storto!"); +?> +]]> + </programlisting> + </example> + </para> + </sect1> + </chapter> + +<!-- 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 +sgml-parent-document:nil +sgml-default-dtd-file:"../../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 +-->