O'Reilly logo

PHP 5 Kochbuch, Third Edition by Stephan Schmidt, Ulrich Speidel, Matthias Brusdeylins, Carsten Lucke, Adam Trachtenberg, David Sklar

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

7.9 Mit Namespaces Kollisionen zwischen Klassennamen verhindern

Problem

Sie nutzen in Ihrer Applikation diverse Bibliotheken oder Frameworks und wollen Konflikte zwischen eigenen Klassen und Framework-Klassen mit identischen Namen vermeiden. Sie möchten dabei aber nicht den in PHP häufig angewandten Kompromiss eingehen und den Klassennamen verkomplizieren (z.B. MeinProjekt_MeineTeilanwendung_MeineKlasse).

Lösung

Durch die Verwendung von Namespaces, die ab PHP 5.3 zur Verfügung stehen, können Sie eine saubere Trennung der Namensräume erreichen, ohne den Klassennamen künstlich zu verkomplizieren. Das folgende Codebeispiel zeigt, wie das aussehen könnte:

namespace net\php\pear\Date { class DateTime { public function __construct() { print __CLASS__ . ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required