-
Notifications
You must be signed in to change notification settings - Fork 59
Expand file tree
/
Copy pathdefine.xml
More file actions
220 lines (210 loc) · 5.65 KB
/
define.xml
File metadata and controls
220 lines (210 loc) · 5.65 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
<?xml version="1.0" encoding="utf-8"?>
<!-- EN-Revision: a124543dd3f6b1e5567b07420d23899e582514dc Maintainer: PhilDaiguille Status: ready -->
<!-- Reviewed: yes -->
<refentry xml:id="function.define" xmlns="http://docbook.org/ns/docbook">
<refnamediv>
<refname>define</refname>
<refpurpose>Define una constante</refpurpose>
</refnamediv>
<refsect1 role="description">
&reftitle.description;
<methodsynopsis>
<type>bool</type><methodname>define</methodname>
<methodparam><type>string</type><parameter>constant_name</parameter></methodparam>
<methodparam><type>mixed</type><parameter>value</parameter></methodparam>
<methodparam choice="opt"><type>bool</type><parameter>case_insensitive</parameter><initializer>&false;</initializer></methodparam>
</methodsynopsis>
<para>
Define una constante durante la ejecución.
</para>
</refsect1>
<refsect1 role="parameters">
&reftitle.parameters;
<para>
<variablelist>
<varlistentry>
<term><parameter>constant_name</parameter></term>
<listitem>
<para>
El nombre de la constante.
</para>
<note>
<para>
Es posible definir con <function>define</function> constantes
con nombres reservados o incluso inválidos, donde sus valores pueden (solo)
ser recuperados con la función <function>constant</function>.
Sin embargo, hacer esto no se recomienda.
</para>
</note>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>value</parameter></term>
<listitem>
<para>
El valor de la constante.
</para>
<warning>
<para>
Aunque es técnicamente posible definir constantes de tipo
&resource;, esto se desaconseja y puede causar comportamientos inesperados.
</para>
</warning>
</listitem>
</varlistentry>
<varlistentry>
<term><parameter>case_insensitive</parameter></term>
<listitem>
<para>
Si es &true;, el nombre de la constante será insensible a mayúsculas/minúsculas:
<literal>CONSTANT</literal> y <literal>Constant</literal>
representan valores idénticos.
</para>
<warning>
<simpara>
Definir constantes insensibles a mayúsculas/minúsculas está deprecado a partir de PHP 7.3.0.
A partir de PHP 8.0.0, solo &false; es un valor aceptable,
pasar &true; producirá una advertencia.
</simpara>
</warning>
<note>
<para>
Las constantes insensibles a mayúsculas/minúsculas se almacenan en minúsculas.
</para>
</note>
</listitem>
</varlistentry>
</variablelist>
</para>
</refsect1>
<refsect1 role="returnvalues">
&reftitle.returnvalues;
<para>
&return.success;
</para>
</refsect1>
<refsect1 role="changelog">
&reftitle.changelog;
<para>
<informaltable>
<tgroup cols="2">
<thead>
<row>
<entry>&Version;</entry>
<entry>&Description;</entry>
</row>
</thead>
<tbody>
<row>
<entry>8.1.0</entry>
<entry>
<parameter>value</parameter> ahora puede ser un objeto.
</entry>
</row>
<row>
<entry>8.0.0</entry>
<entry>
Pasar &true; a <parameter>case_insensitive</parameter> ahora emite una <constant>E_WARNING</constant>.
Pasar &false; sigue siendo permitido.
</entry>
</row>
<row>
<entry>7.3.0</entry>
<entry>
<parameter>case_insensitive</parameter> está deprecado y será eliminado en la versión 8.0.0.
</entry>
</row>
</tbody>
</tgroup>
</informaltable>
</para>
</refsect1>
<refsect1 role="examples">
&reftitle.examples;
<para>
<example>
<title>Definición de una constante</title>
<programlisting role="php">
<![CDATA[
<?php
define("CONSTANT", "Hola mundo.");
echo CONSTANT; // muestra "Hola mundo."
echo Constant; // muestra "Constant" y emite una advertencia
define("GREETING", "Hola tú.", true);
echo GREETING; // muestra "Hola tú."
echo Greeting; // muestra "Hola tú."
// Funciona desde PHP 7
define('ANIMALS', array(
'perro',
'gato',
'aves'
));
echo ANIMALS[1]; // muestra "gato"
?>
]]>
</programlisting>
</example>
</para>
<para>
<example>
<title>Constantes con Nombres Reservados</title>
<para>
Este ejemplo ilustra la <emphasis>posibilidad</emphasis> de definir una
constante con el mismo nombre que una
<link linkend="language.constants.magic">constante mágica</link>.
Dado que el comportamiento resultante es confuso, esta práctica
no se recomienda.
</para>
<programlisting role="php">
<![CDATA[
<?php
var_dump(defined('__LINE__'));
var_dump(define('__LINE__', 'test'));
var_dump(constant('__LINE__'));
var_dump(__LINE__);
?>
]]>
</programlisting>
&example.outputs;
<screen>
<![CDATA[
bool(false)
bool(true)
string(4) "test"
int(5)
]]>
</screen>
</example>
</para>
</refsect1>
<refsect1 role="seealso">
&reftitle.seealso;
<para>
<simplelist>
<member><function>defined</function></member>
<member><function>constant</function></member>
<member>La sección sobre las <link linkend="language.constants">constantes</link></member>
</simplelist>
</para>
</refsect1>
</refentry>
<!-- 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
-->