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!


veröffentlicht am 24.09.2017 von Bernhard
geändert am 25.09.2017 von Bernhard


Top-Artikel in diesem Bereich

PHP Befehle: Funktionen auf einen Blick

geändert: 23.04.2021 von Bernhard (Erstveröffentlichung: 17.10.2016)

Die verfügbaren PHP-Funktionen (Befehle) können mit der PHP-Funktion get_defined_functions(); aufgelistet werden. ... weiterlesen

Preview PHP reguläre Ausdrücke Regex: preg_match, preg_match_all

PHP reguläre Ausdrücke Regex: preg_match, preg_match_all

geändert: 23.11.2021 von Bernhard (Erstveröffentlichung: 18.10.2016)

Mit regulären Ausdrücken kann ein Text untersucht oder modifiziert werden. Reguläre Ausdrücke ermöglichen das Suchen nach Mustern innerhalb einer Zeichenkette und können Übereinstimmungen extrahieren oder ersetzen. PHP verwendet, wie auch andere aktuelle Skriptsprachen, für die Suchfunktionen PCRE (Perl Compatible Regular Expressions) oder kurz  Regex bzw. RegExp. Regex kann in den meisten Skriptsprachen nahezu gleich verwendet werden, daher habe ich... ... weiterlesen

PHP UTF-8 Umlaute

erstellt: 06.05.2020 von Bernhard

Bei Problemen mit den Umlauten in PHP, liegt das meist an einer falschen Zeichenkodierung. ... weiterlesen


Fragen / Kommentare