PHP Namespaces


Mit PHP-Namespaces ist es möglich einen Funktionsnamen mehrfach in verschiedenen Namespaces zu verwenden.

Als Beispiel kann die Funktion mit dem Namen "MyFunction" in 2 verschiedenen Libraries verwendet werden.

hier ein Beispiel ohne Namespace

Library1, File: Lib1.php

<?php

function MyFunction() {
	return "this is MyFunction in Library1";
}

?>

Library2, File: Lib2.php

<?php

function MyFunction() {
	return "this is MyFunction in Library2";
}

?>

 

Ich lade die 2 Dateien in z.B. index.php:

<?php

header('Content-type: text/plain');

require_once('lib1.php');
require_once('lib2.php');

echo MyFunction() . "\n";

?>

Ausgabe:

Fatal error:  Cannot redeclare MyFunction() (previously declared in  ...

der Funktionsname kann nicht mehrfach verwendet werden. Eine Lösung zu dem Problem bieten Namespaces:

Namespace

Namespaces sind so Ă€hnlich wie Ordner in einem Dateisystem. Durch das HinzufĂŒgen von Namespace\ können nur noch Funktionen in dem Namespace ausgefĂŒhrt werden.

lib1.php

<?php
namespace Lib1;
function MyFunction() {
	return "this is MyFunction in Library1";
}

?>

 lib2.php

<?php
namespace Lib2;
function MyFunction() {
	return "this is MyFunction in Library2";
}
?>

index.php:

<?php

header('Content-type: text/plain');

require_once('lib1.php');
require_once('lib2.php');

echo Lib1\MyFunction() . "\n";
echo Lib2\MyFunction() . "\n";
?>

Ausgabe:

this is MyFunction in Library1
this is MyFunction in Library2
positive Bewertung({{pro_count}})
Beitrag bewerten:
{{percentage}} % positiv
negative Bewertung({{con_count}})

DANKE fĂŒr deine Bewertung!

Aktualisiert: 25.09.2017 von Bernhard 🔔


Top-Artikel in diesem Bereich


PHP UTF-8 Umlaute
Bei Problemen mit den Umlauten in PHP, liegt das meist an einer falschen Zeichenkodierung.

PHP Befehle: Funktionen auf einen Blick
Die verfĂŒgbaren PHP-Funktionen (Befehle) können mit der PHP-Funktion get_defined_functions(); aufgelistet werden.

PHP Variablen ĂŒbergeben
Variablen einer Webseite können mittels POST oder GET an PHP ĂŒbergeben werden. Als Voraussetzung fĂŒr das folgende Beispiel wird ein Webserver mit PHP-UnterstĂŒtzung benötigt, siehe:  php Datei erstellen - was ist PHP 

Fragen / Kommentare