PHP
downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | links | conferences | my php.net

search for in the

Der globale Namensraum> <Deklaration von Namensräumen
Last updated: Fri, 26 Dec 2008

view this page in

Nutzung von Namensräumen

Jede Klasse und Funktion in einem Namensraum kann jederzeit über ihren vollständigen Namen angesprochen werden, z.B. MyProject::DB::Connection oder MyProject::DB::connect.

Beispiel #1 Nutzung vollständiger Namen incl. Namensraum

<?php
    
require 'MyProject/Db/Connection.php';
    
$x = new MyProject::DB::Connection;
    
MyProject::DB::connect();
?>

Namensräume können mit Hilfe des use-Schlüsselwortes in den aktuellen Kontext (entweder den aktuellen oder globalen Namensraum) importiert werden. Die Syntax hierfür ist:

<?php
/* ... */
use Some::Name as Othername;

// Die vereinfachte Form:
use Foo::Bar;
// Diese entpricht:
use Foo::Bar as Bar;
?>

Der importierter Name funktioniert folgendermaßen: jedesmal wenn der Compiler auf den Namen Othername trifft (entweder alleine oder als mit :: abgetrennter Vorspann eines längeren Namens so wird stattdessen der importierte Name Some::Name eingesetzt.

use kann nur im globalen Kontext und nicht innerhalb einer Funktion oder Klasse benutzt werden. Importierte Namen sind von der Stelle des Imports bis zum Ende der Datei aktiv. Um Verwirrungen zu vermeiden wird empfohlen Imports an den Dateianfang zu setzen.

Beispiel #2 Import und Nutzung von Namensräumen

<?php
    
require 'MyProject/Db/Connection.php';
    use 
MyProject::DB;
    use 
MyProject::DB::Connection as DbConnection;
    
    
$x = new MyProject::DB::Connection();
    
$y = new DB::connection();
    
$z = new DbConnection();
    
DB::connect();
?>

Hinweis: Die Importoperation wird nur während des Kompilierens ausgeführt, alle lokalen Namen werden dabei vom Kompiler in ihre vollständigen Entsprechungen umgewandelt. Beachten Sie das Namen innerhalb von Strings nicht umgewandelt werden, Callback-Aufrufe können sich daher nicht auf Importregeln verlassen.



add a note add a note User Contributed Notes
Nutzung von Namensräumen
There are no user contributed notes for this page.

Der globale Namensraum> <Deklaration von Namensräumen
Last updated: Fri, 26 Dec 2008
 
 
show source | credits | stats | sitemap | contact | advertising | mirror sites