cvs: phpdoc-ca /language constants.xml
[email protected] ("Bernat Foj Capell") Sun, 09 Oct 2005 11:43:12 -0000
| Newsgroups | php.doc.ca |
|---|---|
| Message-ID | <cvsjabro1128858192@cvsserver> |
--jabro1128858192
Content-Type: text/plain
jabro Sun Oct 9 07:43:12 2005 EDT
Added files:
/phpdoc-ca/language constants.xml
Log:
initial translation
--jabro1128858192
Content-Type: text/plain
Content-Disposition: attachment; filename="jabro-20051009074312.txt"
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
-->
--jabro1128858192--