<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/ref.misc.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'function.constant.php',
    1 => 'constant',
    2 => 'Retorna el valor de una constante',
  ),
  'up' => 
  array (
    0 => 'ref.misc.php',
    1 => 'Funciones Varias',
  ),
  'prev' => 
  array (
    0 => 'function.connection-status.php',
    1 => 'connection_status',
  ),
  'next' => 
  array (
    0 => 'function.define.php',
    1 => 'define',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/misc/functions/constant.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.constant" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">constant</h1>
  <p class="verinfo">(PHP 4 &gt;= 4.0.4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">constant</span> &mdash; <span class="dc-title">Retorna el valor de una constante</span></p>

 </div>

 <div class="refsect1 description" id="refsect1-function.constant-description">
  <h3 class="title">Descripción</h3>
  <div class="methodsynopsis dc-description">
   <span class="modifier">function</span> <span class="methodname"><strong>constant</strong></span>(<span class="methodparam"><span class="type"><a href="language.types.string.php" class="type string">string</a></span> <code class="parameter">$name</code></span>): <span class="type"><a href="language.types.mixed.php" class="type mixed">mixed</a></span></div>

  <p class="simpara">
   Retorna el valor de la constante <code class="parameter">name</code>.
  </p>
  <p class="simpara">
   <span class="function"><strong>constant()</strong></span> es útil cuando se debe leer el valor de una constante, pero su nombre solo se conoce durante la ejecución del script. Por ejemplo, este nombre puede ser el resultado de una función.
  </p>
  <p class="simpara">
   Esta función también funciona con las <a href="language.oop5.constants.php" class="link">constantes de clase</a> y <a href="language.types.enumerations.php" class="link">tipos enum</a>.
  </p>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.constant-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">name</code></dt>
     <dd>
      <p class="para">
       El nombre de la constante.
      </p>
      <blockquote class="note"><p><strong class="note">Nota</strong>: 
       <p class="simpara">
        <span class="function"><strong>constant()</strong></span> toma el nombre como un
        <span class="type"><a href="language.types.string.php" class="type string">string</a></span> ordinario y no lo resuelve con respecto al
        <a href="language.namespaces.dynamic.php" class="link">espacio de nombres</a>
        actual: el nombre se busca en el espacio de nombres global, por lo que
        un nombre sin calificar puede devolver silenciosamente una constante
        diferente a la que el mismo identificador sin prefijo haría referencia.
        Para recuperar el valor de una constante declarada en un espacio de
        nombres, el espacio de nombres debe formar parte del nombre, como en
        <code class="literal">constant(&#039;Mi\Espacio\MICONSTANTE&#039;)</code> o
        <code class="literal">constant(__NAMESPACE__ . &#039;\MICONSTANTE&#039;)</code>.
        Como el nombre es una cadena simple, los alias introducidos por
        sentencias <code class="literal">use</code> y el prefijo
        <code class="literal">namespace\</code> no se aplican a él.
        En una cadena entre comillas dobles, los separadores de espacio de
        nombres deben escaparse, como en
        <code class="literal">&quot;Mi\\Espacio\\MICONSTANTE&quot;</code>.
        La parte del espacio de nombres del nombre no distingue entre
        mayúsculas y minúsculas, el nombre de la constante sí lo hace.
       </p>
      </p></blockquote>
     </dd>
    
   </dl>
  </p>
 </div>


 <div class="refsect1 returnvalues" id="refsect1-function.constant-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   Retorna el valor de la constante.
  </p>
 </div>


 <div class="refsect1 errors" id="refsect1-function.constant-errors">
  <h3 class="title">Errores/Excepciones</h3>
  <p class="para">
   Si la constante no está definida, se lanza una excepción <span class="classname"><a href="class.error.php" class="classname">Error</a></span>. Anteriormente a PHP 8.0.0, se emitía un error de nivel <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> en este caso.
  </p>
 </div>


 <div class="refsect1 changelog" id="refsect1-function.constant-changelog">
  <h3 class="title">Historial de cambios</h3>
  <table class="doctable informaltable">
   
    <thead>
     <tr>
      <th>Versión</th>
      <th>Descripción</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td>8.0.0</td>
      <td>
       Si la constante no está definida, <span class="function"><strong>constant()</strong></span> ahora lanza una excepción <span class="classname"><a href="class.error.php" class="classname">Error</a></span>; anteriormente se emitía un <strong><code><a href="errorfunc.constants.php#constant.e-warning">E_WARNING</a></code></strong> y se retornaba <strong><code><a href="reserved.constants.php#constant.null">null</a></code></strong>.
      </td>
     </tr>

    </tbody>
   
  </table>

 </div>


 <div class="refsect1 examples" id="refsect1-function.constant-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Uso de la función <span class="function"><strong>constant()</strong></span> con constantes</strong></p>
    <div class="example-contents">
<div class="phpcode"><pre><code style="color: #000000"><span style="color: #0000BB">&lt;?php

define</span><span style="color: #007700">(</span><span style="color: #DD0000">"MAXSIZE"</span><span style="color: #007700">, </span><span style="color: #0000BB">100</span><span style="color: #007700">);

echo </span><span style="color: #0000BB">MAXSIZE</span><span style="color: #007700">;
echo </span><span style="color: #0000BB">constant</span><span style="color: #007700">(</span><span style="color: #DD0000">"MAXSIZE"</span><span style="color: #007700">); </span><span style="color: #FF8000">// idéntico a la línea anterior

</span><span style="color: #007700">interface </span><span style="color: #0000BB">bar </span><span style="color: #007700">{
    const </span><span style="color: #0000BB">test </span><span style="color: #007700">= </span><span style="color: #DD0000">'foobar!'</span><span style="color: #007700">;
}

class </span><span style="color: #0000BB">foo </span><span style="color: #007700">{
    const </span><span style="color: #0000BB">test </span><span style="color: #007700">= </span><span style="color: #DD0000">'foobar!'</span><span style="color: #007700">;
}

</span><span style="color: #0000BB">$const </span><span style="color: #007700">= </span><span style="color: #DD0000">'test'</span><span style="color: #007700">;

</span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">constant</span><span style="color: #007700">(</span><span style="color: #DD0000">'bar::'</span><span style="color: #007700">. </span><span style="color: #0000BB">$const</span><span style="color: #007700">)); </span><span style="color: #FF8000">// string(7) "foobar!"
</span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">constant</span><span style="color: #007700">(</span><span style="color: #DD0000">'foo::'</span><span style="color: #007700">. </span><span style="color: #0000BB">$const</span><span style="color: #007700">)); </span><span style="color: #FF8000">// string(7) "foobar!"

</span><span style="color: #0000BB">?&gt;</span></code></pre></div>
    </div>

   </div>
   <div class="example" id="example-2">
    <p><strong>Ejemplo #2 Uso de la función <span class="function"><strong>constant()</strong></span> con tipos enum (a partir de PHP 8.1.0)</strong></p>
    <div class="example-contents">
<div class="phpcode"><pre><code style="color: #000000"><span style="color: #0000BB">&lt;?php

</span><span style="color: #007700">enum </span><span style="color: #0000BB">Suit
</span><span style="color: #007700">{
    case </span><span style="color: #0000BB">Hearts</span><span style="color: #007700">;
    case </span><span style="color: #0000BB">Diamonds</span><span style="color: #007700">;
    case </span><span style="color: #0000BB">Clubs</span><span style="color: #007700">;
    case </span><span style="color: #0000BB">Spades</span><span style="color: #007700">;
}

</span><span style="color: #0000BB">$case </span><span style="color: #007700">= </span><span style="color: #DD0000">'Hearts'</span><span style="color: #007700">;

</span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">constant</span><span style="color: #007700">(</span><span style="color: #DD0000">'Suit::'</span><span style="color: #007700">. </span><span style="color: #0000BB">$case</span><span style="color: #007700">)); </span><span style="color: #FF8000">// enum(Suit::Hearts)

</span><span style="color: #0000BB">?&gt;</span></code></pre></div>
    </div>

   </div>
  </p>
 </div>


 <div class="refsect1 seealso" id="refsect1-function.constant-seealso">
  <h3 class="title">Véase también</h3>
  <p class="para">
   <ul class="simplelist">
    <li><span class="function"><a href="function.define.php" class="function" rel="rdfs-seeAlso">define()</a> - Define una constante</span></li>
    <li><span class="function"><a href="function.defined.php" class="function" rel="rdfs-seeAlso">defined()</a> - Verifica si una constante con el nombre dado existe</span></li>
    <li><span class="function"><a href="function.get-defined-constants.php" class="function" rel="rdfs-seeAlso">get_defined_constants()</a> - Devuelve un array asociativo con los nombres de todas las constantes y sus valores</span></li>
    <li>La sección sobre las <a href="language.constants.php" class="link">constantes</a></li>
   </ul>
  </p>
 </div>


</div><?php manual_footer($setup); ?>