<?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 => 'de',
  ),
  'this' => 
  array (
    0 => 'language.namespaces.fallback.php',
    1 => 'R&uuml;ckgriff auf den globalen Namespace',
    2 => 'Namespaces verwenden: R&uuml;ckgriff auf den globalen Namespace f&uuml;r Funktionen und Konstanten',
  ),
  'up' => 
  array (
    0 => 'language.namespaces.php',
    1 => 'Namespaces',
  ),
  'prev' => 
  array (
    0 => 'language.namespaces.global.php',
    1 => 'Globaler Namensraum',
  ),
  'next' => 
  array (
    0 => 'language.namespaces.rules.php',
    1 => 'Regeln f&uuml;r Namensaufl&ouml;sung',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'de',
    '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.fallback" class="sect1">
  <h2 class="title">Namespaces verwenden: Rückgriff auf den globalen Namespace für Funktionen und Konstanten</h2>
  
  <p class="verinfo">(PHP 5 &gt;= 5.3.0, PHP 7, PHP 8)</p>
  <p class="para">
   Wenn PHP innerhalb eines Namespace auf einen unqualifizierten Namen
   für einen Klassen-, Funktions- oder Konstantennamen trifft, so werden diese
   mit unterschiedlichen Prioritäten aufgelöst. Klassennamen werden immer
   auf den aktuellen Namespace aufgelöst. Um also auf interne Klassen oder
   Benutzerklassen ohne Namespace zuzugreifen, muss man diese mit ihrem
   vollständig qualifizierten Namen ansprechen:
   <div class="example" id="example-1">
    <p><strong>Beispiel #1 Zugriff auf globale Klasse innerhalb eines Namespace</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">A\B\C</span><span style="color: #007700">;<br />class </span><span style="color: #0000BB">Exception </span><span style="color: #007700">extends </span><span style="color: #0000BB">\Exception </span><span style="color: #007700">{}<br /><br /></span><span style="color: #0000BB">$a </span><span style="color: #007700">= new </span><span style="color: #0000BB">Exception</span><span style="color: #007700">(</span><span style="color: #DD0000">'hi'</span><span style="color: #007700">); </span><span style="color: #FF8000">// $a ist ein Objekt der Klasse A\B\C\Exception<br /></span><span style="color: #0000BB">$b </span><span style="color: #007700">= new </span><span style="color: #0000BB">\Exception</span><span style="color: #007700">(</span><span style="color: #DD0000">'hi'</span><span style="color: #007700">); </span><span style="color: #FF8000">// $b ist ein Objekt der Klasse Exception<br /><br /></span><span style="color: #0000BB">$c </span><span style="color: #007700">= new </span><span style="color: #0000BB">ArrayObject</span><span style="color: #007700">; </span><span style="color: #FF8000">// fatal error, die Klasse A\B\C\ArrayObject konnte<br />                      // nicht gefunden werden<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

   </div>
  </p>
  <p class="para">
   Für Funktionen und Konstanten wird PHP auf globale Funktionen oder
   Konstanten zurückgreifen, wenn eine Funktion oder Konstante im
   Namespace nicht existiert.
   <div class="example" id="example-2">
    <p><strong>Beispiel #2 Rückgriff auf globale Funktionen/Konstanten innerhalb eines Namespace</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">A\B\C</span><span style="color: #007700">;<br /><br />const </span><span style="color: #0000BB">E_ERROR </span><span style="color: #007700">= </span><span style="color: #0000BB">45</span><span style="color: #007700">;<br />function </span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$str</span><span style="color: #007700">)<br />{<br />    return </span><span style="color: #0000BB">\strlen</span><span style="color: #007700">(</span><span style="color: #0000BB">$str</span><span style="color: #007700">) - </span><span style="color: #0000BB">1</span><span style="color: #007700">;<br />}<br /><br />echo </span><span style="color: #0000BB">E_ERROR</span><span style="color: #007700">, </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">; </span><span style="color: #FF8000">// gibt "45" aus<br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">INI_ALL</span><span style="color: #007700">, </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">; </span><span style="color: #FF8000">// gibt "7" aus - Rückgriff auf globale INI_ALL<br /><br /></span><span style="color: #007700">echo </span><span style="color: #0000BB">strlen</span><span style="color: #007700">(</span><span style="color: #DD0000">'hi'</span><span style="color: #007700">), </span><span style="color: #DD0000">"\n"</span><span style="color: #007700">; </span><span style="color: #FF8000">// gibt "1" aus<br /></span><span style="color: #007700">if (</span><span style="color: #0000BB">is_array</span><span style="color: #007700">(</span><span style="color: #DD0000">'hi'</span><span style="color: #007700">)) { </span><span style="color: #FF8000">// gibt "ist kein Array" aus<br />    </span><span style="color: #007700">echo </span><span style="color: #DD0000">"ist Array\n"</span><span style="color: #007700">;<br />} else {<br />    echo </span><span style="color: #DD0000">"ist kein Array\n"</span><span style="color: #007700">;<br />}<br /></span><span style="color: #0000BB">?&gt;</span></span></code></div>
    </div>

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