<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/language.namespaces.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'es',
  ),
  'this' => 
  array (
    0 => 'language.namespaces.definition.php',
    1 => 'Espacios de nombres',
    2 => 'Definici&oacute;n de espacios de nombres',
  ),
  'up' => 
  array (
    0 => 'language.namespaces.php',
    1 => 'Los espacios de nombres',
  ),
  'prev' => 
  array (
    0 => 'language.namespaces.rationale.php',
    1 => 'Introducci&oacute;n',
  ),
  'next' => 
  array (
    0 => 'language.namespaces.nested.php',
    1 => 'Subespacio de nombres',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'es',
    'path' => 'language/namespaces.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="language.namespaces.definition" class="sect1">
  <h2 class="title">Definición de espacios de nombres</h2>
  
  <p class="verinfo">(PHP 5 &gt;= 5.3.0, PHP 7, PHP 8)</p>
  <p class="para">
   Aunque el código PHP válido puede contenerse en un espacio de nombres,
   solo los siguientes tipos de código pueden verse afectados por los espacios de nombres:
   las clases (incluyendo las abstractas, los traits y los enums), las interfaces,
   las funciones y las constantes.
  </p>
  <p class="para">
   Los espacios de nombres se declaran con la palabra clave <code class="literal">namespace</code>.
   Un archivo que contiene un espacio de nombres debe declarar el espacio al principio
   del archivo, antes de cualquier otro código, con una sola excepción: la palabra
   clave <a href="control-structures.declare.php" class="xref">declare</a>.
   <div class="example" id="example-1">
    <p><strong>Ejemplo #1 Declaración de un espacio de nombres</strong></p>
    <div class="example-contents">
     <div class="phpcode"><code><span style="color: #000000"><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">namespace </span><span style="color: #0000BB">MonProjet</span><span style="color: #007700">;<br /><br />const </span><span style="color: #0000BB">CONNEXION_OK </span><span style="color: #007700">= </span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />class </span><span style="color: #0000BB">Connexion </span><span style="color: #007700">{ </span><span style="color: #FF8000">/* ... */ </span><span style="color: #007700">}<br />function </span><span style="color: #0000BB">connecte</span><span style="color: #007700">() { </span><span style="color: #FF8000">/* ... */ </span><span style="color: #007700">}<br /><br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
   <blockquote class="note"><p><strong class="note">Nota</strong>: 
    <span class="simpara">
     Los nombres completamente calificados (es decir, los nombres que comienzan con un backslash)
     no están autorizados en las declaraciones de espacios de nombres, ya que tales
     construcciones se interpretan como expresiones de espacio de nombres relativo.
    </span>
   </p></blockquote>
   El único elemento autorizado antes de la declaración de espacio de nombres es la instrucción
   <code class="literal">declare</code>, para definir la codificación del archivo fuente. Además,
   ningún código no-PHP puede preceder a la declaración de espacio de nombres, incluyendo
   espacios:
   <div class="example" id="example-2">
    <p><strong>Ejemplo #2 Error de declaración de un espacio de nombres</strong></p>
    <div class="example-contents">
     <div class="phpcode"><code><span style="color: #000000">&lt;html&gt;<br /><span style="color: #0000BB">&lt;?php<br /></span><span style="color: #007700">namespace </span><span style="color: #0000BB">MonProjet</span><span style="color: #007700">; </span><span style="color: #FF8000">// error fatal: el espacio de nombres debe ser el primer elemento del script<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   Además, a diferencia de otras estructuras de PHP, el mismo espacio de nombres puede
   definirse en varios archivos, lo que permite dividir el contenido de un
   espacio de nombres en varios archivos.
  </p>
 </div><?php manual_footer($setup); ?>