<?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.defined.php',
    1 => 'defined',
    2 => 'Verifica si una constante con el nombre dado existe',
  ),
  'up' => 
  array (
    0 => 'ref.misc.php',
    1 => 'Funciones Varias',
  ),
  'prev' => 
  array (
    0 => 'function.define.php',
    1 => 'define',
  ),
  'next' => 
  array (
    0 => 'function.die.php',
    1 => 'die',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'reference/misc/functions/defined.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="function.defined" class="refentry">
 <div class="refnamediv">
  <h1 class="refname">defined</h1>
  <p class="verinfo">(PHP 4, PHP 5, PHP 7, PHP 8)</p><p class="refpurpose"><span class="refname">defined</span> &mdash; <span class="dc-title">Verifica si una constante con el nombre dado existe</span></p>

 </div>

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

  <p class="para rdfs-comment">
   Verifica si una constante con el nombre <code class="parameter">constant_name</code> existe.
  </p>
  <p class="para">
   Esta función también funciona con las <a href="language.oop5.constants.php" class="link">constantes de clase</a> y los <a href="language.types.enumerations.php" class="link">tipos enum</a>.
  </p>
  <blockquote class="note"><p><strong class="note">Nota</strong>: 
   <p class="para">
    Si se desea verificar si una variable existe,
    utilice <span class="function"><a href="function.isset.php" class="function">isset()</a></span> ya que <span class="function"><strong>defined()</strong></span>
    solo se aplica a las <a href="language.constants.php" class="link">constantes</a>.
    Si se desea ver si una función existe, utilice
    <span class="function"><a href="function.function-exists.php" class="function">function_exists()</a></span>.
   </p>
  </p></blockquote>
 </div>


 <div class="refsect1 parameters" id="refsect1-function.defined-parameters">
  <h3 class="title">Parámetros</h3>
  <p class="para">
   <dl>
    
     <dt><code class="parameter">constant_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>defined()</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 comprobar silenciosamente una constante
        diferente a la que el mismo identificador sin prefijo haría referencia.
        Para verificar si una constante declarada en un espacio de nombres está
        definida, el espacio de nombres debe formar parte del nombre, como en
        <code class="literal">defined(&#039;Mi\Espacio\MICONSTANTE&#039;)</code> o
        <code class="literal">defined(__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.defined-returnvalues">
  <h3 class="title">Valores devueltos</h3>
  <p class="para">
   Retorna <strong><code><a href="reserved.constants.php#constant.true">true</a></code></strong> si el nombre de la constante proporcionado por el argumento
   <code class="parameter">constant_name</code> ha sido definido, <strong><code><a href="reserved.constants.php#constant.false">false</a></code></strong> en caso contrario.
  </p>
 </div>


 <div class="refsect1 examples" id="refsect1-function.defined-examples">
  <h3 class="title">Ejemplos</h3>
  <p class="para">
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Verificar la presencia de constantes con <span class="function"><strong>defined()</strong></span></strong></p>
    <div class="example-contents">
<div class="phpcode"><pre><code style="color: #000000"><span style="color: #0000BB">&lt;?php
</span><span style="color: #FF8000">/* Observe que el nombre de la constante está entre comillas. Este ejemplo verifica
 * si la cadena 'TEST' es el nombre de la constante llamada TEST */
</span><span style="color: #007700">if (</span><span style="color: #0000BB">defined</span><span style="color: #007700">(</span><span style="color: #DD0000">'TEST'</span><span style="color: #007700">)) {
    echo </span><span style="color: #0000BB">TEST</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">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">defined</span><span style="color: #007700">(</span><span style="color: #DD0000">'bar::test'</span><span style="color: #007700">)); </span><span style="color: #FF8000">// bool(true)
</span><span style="color: #0000BB">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">defined</span><span style="color: #007700">(</span><span style="color: #DD0000">'foo::test'</span><span style="color: #007700">)); </span><span style="color: #FF8000">// bool(true)

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

   </div>
   <div class="example" id="example-2">
    <p><strong>Ejemplo #2 Verificación de 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">var_dump</span><span style="color: #007700">(</span><span style="color: #0000BB">defined</span><span style="color: #007700">(</span><span style="color: #DD0000">'Suit::Hearts'</span><span style="color: #007700">)); </span><span style="color: #FF8000">// bool(true)
</span><span style="color: #0000BB">?&gt;</span></code></pre></div>
    </div>

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


 <div class="refsect1 seealso" id="refsect1-function.defined-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.constant.php" class="function" rel="rdfs-seeAlso">constant()</a> - Retorna el valor de una constante</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><span class="function"><a href="function.function-exists.php" class="function" rel="rdfs-seeAlso">function_exists()</a> - Indica si una funci&oacute;n est&aacute; definida</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); ?>