cvs: phpdoc-ca /language constants.xml

From: Date: Sun, 09 Oct 2005 11:43:12 +0000
Subject: cvs: phpdoc-ca /language constants.xml
Groups: php.doc.ca 
Request: Send a blank email to doc-ca+get-79@lists.php.net to get a copy of this message
jabro Sun Oct 9 07:43:12 2005 EDT Added files: /phpdoc-ca/language constants.xml Log: initial translation

http://cvs.php.net/co.php/phpdoc-ca/language/constants.xml?r=1.1&p=1 Index: phpdoc-ca/language/constants.xml +++ phpdoc-ca/language/constants.xml <?xml version="1.0" encoding="iso-8859-1"?> <!-- $Revision: 1.1 $ --> <!-- EN-Revision: 1.41 Maintainer: jabro Status: ready --> <chapter id="language.constants"> <title>Constants</title> <simpara> Una constant és un identificador (nom) per a un valor simple. Tal i com el nom suggereix, aquest valor no es pot canviar durant l'execució de la seqüència (excepte per a les <link linkend="language.constants.predefined"> constants màgiques</link>, que en realitat no són constants). Una constant distingeix minúscules i majúscules per defecte. Per convenció, els identificadors de constant es posen en majúscula. </simpara> <para> El nom d'una constant segueix les mateixes regles que qualsevol etiqueta del PHP. un nom de constant vàlid comença amb una lletra o un caràcter de subratllat, seguit per qualsevol nombre de lletres, nombres o caràcters de subratllat. Com a expressió regular, s'expressaria així: <literal>[a-zA-Z_\x7f-\xff][a-zA-Z0-9_\x7f-\xff]*</literal> </para> <para> <example> <title>Noms de constant vàlids i invàlids</title> <programlisting role="php"> <![CDATA[ <?php // Noms de constant vàlids define("FOO", "quelcom"); define("FOO2", "quelcom altre"); define("FOO_BAR", "quelcom més") // Noms de constant invàlids define("2FOO", "something"); // Aquest és vàlid, però s'hauria d'evitar: // El PHP potser un dia proporcionarà una constant màgica // que farà malbé la vostra seqüència define("__FOO__", "quelcom"); ?> ]]> </programlisting> </example> </para> <note> <simpara> Per als nostres propòsits aquí, les lletres són a-z, A-Z, i els caràcters ASCII de 127 a 255 (0x7f-0xff). </simpara> </note> <simpara> Com les &link.superglobals;, l'àmbit d'una constant és global. Podeu accedir a les constants des de qualsevol lloc de la vostra seqüència sense preocupar-vos de l'àmbit. Per a més informació sobre el tema, llegiu la secció del manual sobre <link linkend="language.variables.scope">àmbit de variables</link>. </simpara> <sect1 id="language.constants.syntax"> <title>Sintaxi</title> <simpara> Podeu definir una constant amb la funció <function>define</function>. Un cop s'ha definit una constant, no es pot canviar o indefinir mai. </simpara> <simpara> Les constants només poden contenir dades escalars (<type>boolean</type>, <type>integer</type>, <type>float</type> i <type>string</type>). </simpara> <simpara> Podeu aconseguir el valor d'una constant simplement especificant el seu nom. A diferència de les variables, <emphasis>no</emphasis> heu de prefixar la constant amb un <literal>$</literal>. També podeu usar la funció <function>constant</function> per a llegir el valor d'una constant si desitgeu obtenir el nom d'una constant dinàmicament. Useu <function>get_defined_constants</function> per a veure una llista de totes les constants definides. </simpara> <note> <simpara> Les constants i les variables (globals) són en un espai de noms diferent. Això implica que per exemple &true; i <varname>$TRUE</varname> són generalment diferents. </simpara> </note> <simpara> Si utilitzeu una constant no definida, el PHP assumeix que voleu usar el nom de la constant per si mateix, de la mateixa manera que si la usessiu com un <type>string</type> (CONSTANT vs "CONSTANT"). S'informarà d'un error de nivell <link linkend="ref.errorfunc">E_NOTICE</link> quan passi això. Vegeu també l'entrada del manual de per què <link linkend="language.types.array.foo-bar">$foo[bar]</link> està malament (a no ser que definiu primer (<function>define</function>) <literal>bar</literal> com a una constant). Si simplement voleu verificar si una constant concreta està definida, useu la funció <function>defined</function>. </simpara> <para> Aquestes són les diferències entre les constants i les variables: <itemizedlist> <listitem> <simpara> Les constants no tenen un signe de dòlar (<literal>$</literal>) que les precedeixin; </simpara> </listitem> <listitem> <simpara> Les constants només es poden definir amb la funció <function>define</function>, no simplement amb assignació; </simpara> </listitem> <listitem> <simpara> Les constants es poden definir i accedir a qualsevol lloc sense importar les regles d'àmbit de les variables; </simpara> </listitem> <listitem> <simpara> Les constants no es poden redefinir o indefinir un cop s'han definit; i </simpara> </listitem> <listitem> <simpara> Les constants només es poden avaluar a valors escalars. </simpara> </listitem> </itemizedlist> </para> <para> <example> <title>Definició de constants</title> <programlisting role="php"> <![CDATA[ <?php define("CONSTANT", "Hola, món."); echo CONSTANT; // treu "Hola, món." echo Constant; // treu "Constant" i reporta un avís. ?> ]]> </programlisting> </example> </para> <simpara> Vegeu també <link linkend="language.oop5.constants">Constants de classe</link>. </simpara> </sect1> <sect1 id="language.constants.predefined"> <title>Constants màgiques</title> <simpara> El PHP proporciona un gran nombre de <link linkend="reserved.constants">constants predefinides</link> a qualsevol seqüència que estigui en execució. Moltes d'aquestes constants, tot i això, són creades per diverses extensions, i només seran presents quan aquestes extensions estiguin disponibles, ja sigui via càrrega dinàmica o perquè han estat compilades. </simpara> <para> Hi ha cinc constants màguiques que canvien depenent d'on s'estan usant. Per exemple, el valor de <constant>__LINE__</constant> depèn de la línia des d'on s'usa de la vostra seqüència. Aquestes constants especials no tenen en compte majúscules i minúscules i són les que segueixen: </para> <para> <table> <title>Algunes constants "màgiques"</title> <tgroup cols="2"> <thead> <row> <entry>Nom</entry> <entry>Descripció</entry> </row> </thead> <tbody> <row> <entry><constant>__LINE__</constant></entry> <entry> El nombre de línia actual del fitxer. </entry> </row> <row> <entry><constant>__FILE__</constant></entry> <entry> La ruta completa i el nom de fitxer del vostre fitxer. Si s'usa dins d'un include, es retorna el nom del fitxer inclòs. Des del PHP 4.0.2, <constant>__FILE__</constant> sempre conté una ruta absoluta mentre que en versions anteriors contenia una ruta relativa sota algunes circumstàncies. </entry> </row> <row> <entry><constant>__FUNCTION__</constant></entry> <entry> El nom de la funció (afegit al PHP 4.3.0). Des del PHP 5 aquesta constant retorna el nom de la funció tal com aquesta fou declarada (distingint majúscules i minúscules). Al PHP 4 aquest valor sempre està en minúscules. </entry> </row> <row> <entry><constant>__CLASS__</constant></entry> <entry> El nom de la classe (afegit al PHP 4.3.0). Des del PHP 5 aquesta constant retorna el nom de la classe tal com aquesta fou declarada (distingint majúscules i minúscules). Al PHP 4 aquest valor sempre està en minúscules. </entry> </row> <row> <entry><constant>__METHOD__</constant></entry> <entry> El nom del mètode de la classe (afegit al PHP 5.0.0). El nom del mètode es retorna tal com fou declarat (distingint majúscules i minúscules). </entry> </row> </tbody> </tgroup> </table> </para> <para> Vegeu també <function>get_class</function>, <function>get_object_vars</function>, <function>file_exists</function>&listendand; <function>function_exists</function>. </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 indent-tabs-mode:nil 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 -->
« previous php.doc.ca (#79) next »