PHP -Tutorial

PHP-HOME PHP-Einführung PHP-Installation PHP-Syntax PHP-Kommentare PHP-Variablen PHP-Echo / Drucken PHP-Datentypen PHP-Strings PHP-Nummern PHP-Mathematik PHP-Konstanten PHP-Operatoren PHP If...Else...Elseif PHP-Schalter PHP-Schleifen PHP-Funktionen PHP-Arrays PHP-Superglobals PHP-RegEx

PHP -Formulare

Handhabung von PHP-Formularen PHP-Formularvalidierung PHP-Formular erforderlich PHP-Formular-URL/E-Mail PHP-Formular vollständig

PHP- Erweitert

PHP-Datum und -Zeit PHP einschließen Umgang mit PHP-Dateien PHP-Datei öffnen/lesen PHP-Datei erstellen/schreiben Hochladen von PHP-Dateien PHP-Cookies PHP-Sitzungen PHP-Filter PHP-Filter für Fortgeschrittene PHP-Callback-Funktionen PHP-JSON PHP-Ausnahmen

PHP -OOP

PHP Was ist OOP PHP-Klassen/Objekte PHP-Konstruktor PHP-Destruktor PHP-Zugriffsmodifikatoren PHP-Vererbung PHP-Konstanten Abstrakte PHP-Klassen PHP-Schnittstellen PHP-Eigenschaften Statische PHP-Methoden Statische PHP-Eigenschaften PHP-Namespaces PHP-Iterables

MySQL- Datenbank

MySQL-Datenbank MySQL Connect MySQL-DB erstellen MySQL-Tabelle erstellen MySQL-Daten einfügen MySQL Letzte ID abrufen MySQL Mehrfach einfügen MySQL vorbereitet MySQL Select-Daten MySQL-Wo MySQL-Reihenfolge nach MySQL-Daten löschen MySQL-Update-Daten MySQL-Limit-Daten

PHP- XML

PHP-XML-Parser PHP-SimpleXML-Parser PHP SimpleXML - Get PHP-XML-Expat PHP-XML-DOM

PHP -AJAX

AJAX-Einführung AJAX-PHP AJAX-Datenbank AJAX-XML AJAX Live-Suche AJAX-Umfrage

PHP- Beispiele

PHP-Beispiele PHP-Compiler PHP-Quiz PHP-Übungen PHP-Zertifikat

PHP- Referenz

PHP-Übersicht PHP-Array PHP-Kalender PHP-Datum PHP-Verzeichnis PHP-Fehler PHP-Ausnahme PHP-Dateisystem PHP-Filter PHP-FTP PHP-JSON PHP-Schlüsselwörter PHP-Libxml PHP-Mail PHP-Mathematik PHP-Sonstiges PHP MySQLi PHP-Netzwerk PHP-Ausgabesteuerung PHP-RegEx PHP-SimpleXML PHP-Stream PHP-String Umgang mit PHP-Variablen PHP-XML-Parser PHP-Zip PHP-Zeitzonen

PHP -Namespaces


PHP-Namespaces

Namespaces sind Qualifizierer, die zwei verschiedene Probleme lösen:

  1. Sie ermöglichen eine bessere Organisation, indem Klassen gruppiert werden, die zusammenarbeiten, um eine Aufgabe auszuführen
  2. Sie ermöglichen die Verwendung desselben Namens für mehr als eine Klasse

Beispielsweise haben Sie möglicherweise eine Reihe von Klassen, die eine HTML-Tabelle beschreiben, z. B. Table, Row und Cell, während Sie auch eine andere Reihe von Klassen haben, um Möbel zu beschreiben, z. B. Table, Chair und Bed. Über Namespaces lassen sich die Klassen in zwei unterschiedliche Gruppen gliedern und gleichzeitig wird verhindert, dass die beiden Klassen Table und Table verwechselt werden.


Deklarieren eines Namensraums

Namespaces werden am Anfang einer Datei mit dem namespaceSchlüsselwort deklariert:

Syntax

Deklarieren Sie einen Namespace namens Html:

namespace Html;

Hinweis: Eine namespaceDeklaration muss das Erste in der PHP-Datei sein. Der folgende Code wäre ungültig:

<?php
echo "Hello World!";
namespace Html;
...
?>

In dieser Datei deklarierte Konstanten, Klassen und Funktionen gehören zum Html- Namespace:

Beispiel

Erstellen Sie eine Tabellenklasse im Html-Namespace:

<?php
namespace Html;
class Table {
  public $title = "";
  public $numRows = 0;
  public function message() {
    echo "<p>Table '{$this->title}' has {$this->numRows} rows.</p>";
  }
}
$table = new Table();
$table->title = "My table";
$table->numRows = 5;
?>

<!DOCTYPE html>
<html>
<body>

<?php
$table->message();
?>

</body>
</html>

Zur weiteren Organisation ist es möglich, verschachtelte Namensräume zu haben:

Syntax

Deklarieren Sie einen Namespace namens Html in einem Namespace namens Code:

namespace Code\Html;

Namensräume verwenden

Jeder Code, der einer namespaceDeklaration folgt, arbeitet innerhalb des Namensraums, sodass Klassen, die zum Namensraum gehören, ohne Qualifizierer instanziiert werden können. Um von außerhalb eines Namensraums auf Klassen zuzugreifen, muss der Klasse der Namensraum angehängt sein.

Beispiel

Verwenden Sie Klassen aus dem HTML-Namespace:

$table = new Html\Table()
$row = new Html\Row();

Wenn viele Klassen aus demselben Namensraum gleichzeitig verwendet werden, ist es einfacher, das namespaceSchlüsselwort zu verwenden:

Beispiel

Verwenden Sie Klassen aus dem Html-Namespace, ohne dass der Html\qualifier erforderlich ist:

namespace Html;
$table = new Table();
$row = new Row();

Namespace-Alias

Es kann nützlich sein, einem Namensraum oder einer Klasse einen Alias ​​zu geben, um das Schreiben zu vereinfachen. Dies geschieht mit dem useSchlüsselwort:

Beispiel

Geben Sie einem Namensraum einen Alias:

use Html as H;
$table = new H\Table();

Beispiel

Geben Sie einer Klasse einen Alias:

use Html\Table as T;
$table = new T();