Backslash Alias Separator use und globale Funktion in Namespace in PHP 5.3 Die größte Veränderung in PHP 5.3 ist die Einführung der namespace die dazu da sind um die Struktur und Übersicht in Anwendungen zu optimieren. Ein weiterer Schritt zur objektorientierten Programmierung PHP 5.3. Alias ein neues Feature. Ihr benötigt PHP 5.3 die zur Zeit neueste Version um dieses Feature nutzen zu können. Es besteht die Gefahr das bei großen Projekten der Name mehrfach benutzt wird. Mehrere libraries kommen zum Einsatz dadurch wird dies vermieden. Wenn ihr mehreren Klassen den selben Namen gibt und das absichtlich kann das auch passieren. PHP 5.3 muss nicht auf komplizierte Namen mehr zurück greifen. Ein wahrer Vorteil von PHP 5.3. Es ist wichtig das die Deklaration innerhalb einer Datei das erste Kommando ist. Das keyword definiert den Code eines namespaces. Innerhalb einer Datei kann man mehrere spaces verwenden aber niemals kann ein Code mehrere angehören. Immer der zuletzt deklarierte wird verwendet. Empfehlen würde ich euch jedoch immer nur einen Namen pro space zu benützen. ZumTrennen, sprich als Separator wird ein Backslash verwendet. Als Separator wurde nicht immer der Backslash verwendet. Veraltete tutorials verwenden als Separator einen Doppelpunkt und bestehen noch im Netz. Separator bezeichnet man als eine Zeichenfolge in der Programmierung. Ein Separator wird auch zum Trennen von zeilen oder Segmenten verwendet. Abgrenzung von Schlüssenwörtern wird ebenfalls ein Separator verwendet. Ein Separator besteht meistens aus Metazeichen, die im Gegensatz zu einem Operator, Syntaxbesatndteile oneinander trennt. Soviel zu einem Separator. Der Backslash Zurück zu dem Backslash. Auf manchen Tastaturen ist kein Backslash vorhanden und sorgt somit für Unruhe bei den betroffenen Usern. Der Backslash ist ein besonderes Zeichen das mit einer Tastaturkombination sehr schwer zu erreichen ist , bei manchen Tastaturen ist der Backslash bereits mit in begriffen. Der Backslash ist in jedem PHP erhalten. Für Konsatanten und Funktionen wird auf eine globale Funktion zurück gegriffen wenn diese Funktion oder Konstante nicht funktioniert. Als globale Funktion können Operatoren überladen werden. Eine globale Funktion ist in einem programm vollständig sichtbar und scheinbar bequem. Das Verhalten einer globale Funktion hängt von der jeweiligen aufrufenden Funktion ab. Alle programme die von einem PHP Interpreter bearbeitet werden können durch eine globale Funktion verfügbar sein. Namespace was ist das? Namespace in PHP 5.3 bieten die Möglichkeit die verschiedenen Dinge zu kapseln. Man kann das an einigen Dingen als Konzept beschauen. Verzeichnisse in einem Betriebssystem beispielsweise dienen dazu um zusammengehörige Daten zu unterteilen. Autoren von Anwendungen und Bibliotheken stoßen auf Probleme wenn Codeelemente die wiederverwendbar sind wie eine globale Funktion und Klassen entwickelt werden. Dazu wurden die namespaces von php entworfen. Zusammengehörige Funktionen konstanten und Klassen zueinander fassen diese Möglichkeit biete php namespaces. Nur drei Arten von Code werden unterstützt. Konstanten Funktionen und Klassen obwohl jeder gültige php quellcode eingeschlossen werden kann. Ein neuer Namensraum wird durch eine Deklaration des namespaces eingeleitet. Vor jeder Zeile muss es PHP Code stehen wenn es verwendet werden soll. Pro Datei lässt die Notation nur einen Namespace zu das gilt zu beachten. Wenn ihr die globale Funktion sometimesSure aufrufen möchtet könnt ihr das nicht mit sometimesSure, außer diese globale Funktion befindet sich in dem gleichen Namespace. Jeder Funktionsname, Methodenname oder Klassenname präfixed der Interpreter mit dem Namespace in dem er sich befindet. Einen benutzerfreundlichen Trenner für Namespace hat PHP 5.3 nicht gewählt. Entschieden hat sich PHP für Konflikte jedoch mit der Engine und auf englischen Tastaturen einfachen Tippweise für den Backslash. Klassen die Namen besitzen zb use welche ihrer Verwendung angepasst sind ist ein Vorteil der Namespaces. Das Keyword as in Verbindung mit dem Keyword use erlaubt es den Entwicklern für einen Namen ein Alias zu verwenden und komplett in ein Namespace einzubeziehen. Das kann sehr hilfreich sein bei Namenskonflikten. Ebenfalls kann dies Abhilfe schaffen bei Klassennamen die zu lang sind. Die Lesbarkeit kann dabei reduziert werden ebenso wie die Code Wartbarkeit, dies gilt hier natürlich zu beachten. Wenn ihr also aus einem Klassennamen User einfach nur ein u macht dann werdet ihr euch nach einiger zeit fragen was dieses u eigentlich bedeutet und das will sicher niemand. In der Deklaration ständig nachsehen zu müssen was ein u bedeutet ist sicherlich sehr lästig. PHP beschwert sich sofort wenn es Namenskonflikte bei einer Alias-Zuweisung auftreten sollte und es wird nicht beliebig etwas aufgerufen. Alias bedeutet soviel wie Pseudonym. Die Alias Zuweisung hiflt bei Konflikten der Namen. Ein Alias mit use anzulegen erleichtert das ändern der Namensräume für andere Entwickler. Das Use spart ausserdem viel Schreibarbeit bei häufigem Aufrufen der Klasse. Anpassung wird erleichtert wenn man use in einen Namensraum verschiebt doch das ist geschmackssache. Das Alias Use ist besser als innerhalb einer Klasse auszugehen. Use sorgt in jedem Fall für eine Erleichterung. Ein wichtiges Featurein PHP 5.3 ist es mit einem Alias auf vollständige Namen zuzugreifen. Also sie zu importieren. Mittels eines Use Operators werden die Alias in PHP angelegt. Ihr solltet selber entscheiden ob ihr einen globalen Raum für die Funktionen angeben möchtet oder den fallback die Arbeit machen lasst. Der fallback was bei einem kleinen Benchmark langsamer als auch bei mehreren Durchläufen. Funktionsnamen und Klassen sollen eindeutiger werden durch anlegung am Anfang eines Dokumentes.