Zend - The PHP Company


Schritt 1: Beispiel-Anwendungsdateien herunterladen und extrahieren

Schritt 2: Kopieren Sie das extrahierte Verzeichnis in das Document Root des Zend Servers

Schritt 3: Aktivieren Sie die Schreibberechtigung für das Datenverzeichnis

Hinweis: Wenn Sie Apache auf Windows ausführen, sind die Schreibberechtigungen standardmäßig festgelegt, und Sie können diesen Schritte daher überspringen.

Diese Anwendung muss Daten in das Dateisystem schreiben. Sie müssen Ihrem Webserver-Benutzer daher Schreibberechtigung für das Verzeichnis ‘data/’ Ihrer Beispielanwendung gewähren:

Auf Linux/Mac:  Führen Sie den Befehl chown <Web_Server_Benutzer> <Pfad_auf_Datenverzeichnis> aus.
Ersetzen Sie <Web_Server_Benutzer> durch den Namen Ihres Webserver-Benutzers, und ersetzen Sie <Pfad_auf_Datenverzeichnis> durch den Speicherort des Datenverzeichnisses (befindet sich im extrahierten Anwendungsverzeichnis).

Führen Sie beispielsweise den folgenden Befehl aus: # chown www-data /var/www/jukebox/data

Auf Windows/IIS: Klicken Sie mit der rechten Maustaste auf das Datenverzeichnis (befindet sich im extrahierten Anwendungsverzeichnis), und wählen Sie "Properties | Security (Eigenschaften | Sicherheit). Stellen Sie sicher, dass Ihr Webserver-Benutzer über Schreibberechtigung für diesen Ordner verfügt. Klicken Sie, falls erforderlich, auf "Add" (Hinzufügen), um den Webserver-Benutzer hinzuzufügen, und aktivieren Sie das Kontrollkästchen ‘Write’ (Shreiben) in der Berechtigungsliste.

Schritt 4: Führen Sie Ihre Anwendung aus

Öffnen Sie einen Webbrowser, und navigieren Sie zur Hauptseite Ihrer Anwendung, die sich unter http://localhost:<port_number>/jukebox/index.php befindet.

Herzlichen Glückwunsch – Sie können Ihre Anwendung nun verwenden!



Was kommt als Nächstes?

  • Weitere Informationen zum PHP-Code, den Sie gerade ausgeführt haben, finden Sie unter Was steckt hinter dem Code?.
  • Um auf weitere Beispielanwendungen zuzugreifen, die auf dem Zend Server ausgeführt werden können, klicken Sie hier
  • Weitere Informationen zu PHP-Grundlagen erhalten Sie unter PHP 101

Was steckt hinter dem Code?

Die Beispielanwendung “jukebox” ist eine einfache, PHP-basierte Anwendung für die Verwaltung einer Musikbibliothek. Sie zeigt das Verwenden mehrerer PHP-Dateien in einer Anwendung und das Verwenden der PDO-Schnittstelle, um eine Verbindung  zu einer Datenbank herzustellen und mit dieser zu arbeiten.
Um den Code hinter der Anwendung anzuzeigen, öffnen Sie die Anwendungsdateien in einem Texteditor oder in einer IDE, z. B. Zend Studio for Eclipse.

Hinweis:
Um die Dateien in Zend Studio for Eclipse zu importieren, erstellen Sie ein PHP-Projekt namens "jukebox", und importieren Sie die Anwendungsdateien, indem Sie "File | Import | General | File Sytem" (Datei | Importieren | Allgemeines | Dateisystem) wählen und zum extrahierten Verzeichnis "jukebox" navigieren.

Im Folgenden finden Sie eine Übersicht über den Zweck der unterschiedlichen Dateien in unserer Anwendung:

jukebox/index.php
Dies ist die Hauptseite der Anwendung. Sie zeigt eine Liste der aktuell in der Datenbank gespeicherten Elemente an. Unter Verwendung der require_once()-Anweisung lädt diese Datei weitere Dateien, die allgemeine Funktionen, z. B. das Abfragen der Datenbank, das Filtern von Einträgen oder das Rendern des HTML-Header und -Footer.
jukebox/edit.php
Diese Datei rendert die Seite "Add/Edit song" (Song hinzufügen/bearbeiten). Die von der Datei ausgeführten Vorgänge variieren je nach den Paramtern der eingereichten HTTP-Anforderung ($_GET, $_POST und $_SERVER). Dies wird durch die vom Benutzer ausgewählten Aktion festgelegt:
  • Wenn ein Benutzer auf der Hauptseite auf "Add" (Hinzufügen) klickt, wird eine GET-Anforderung eingereicht, und das Formular "Add Song" (Song hinzufügen) wird angezeigt.
  • Wenn ein Benutzer auf der Hautpseite neben einem der Songs auf "Edit" (Bearbeiten) klickt, wird eine GET-Anforderung eingereicht, um die Songdetails aus der Datenbank abzurufen und das Formular "Edit Song" (Song bearbeiten) anzuzeigen.
  • Wenn ein Benutzer im Formular "Add/Edit Song" (Song bearbeiten/hinzufügen) auf "Save" (Speichern) klickt, wird eine POST-Anforderung eingereicht, die neuen/bearbeiteten Einträge werden in der Datenbank gespeichert, und der Benutzer wird auf die Homepage zurückgeleitet.

jukebox/common (html-bottom.php and html-top.php)
Dieses Verzeichnis enthält PHP-Dateien, die HTML-Vorlagenelemente (Header und Footer) rendern, die alle Seiten der Anwendung gemeinsam haben.

jukebox/config/jukebox-config.php
Dies ist die Konfigurationsdatei der Anwendung, die von allen Seiten in der Anwendung gelesen wird. In dieser Anwendung speichert die Konfigurationsdatei nur die Anmeldedaten für das Herstellen einer Verbindung zur Datenbank.

jukebox/data (jukebox.sq3 and schema.sql)
Dieses Verzeichnis enthält die SQLite-Datenbankdateien. Die Jukebox-Anwendung stellt standardmäßig eine Verbindung zu einer eingebetteten SQLite-Datenbank her. Die Konfigurationsdatei kann jedoch auch für das Verwenden anderer relationaler Datenbankmanagementsysteme (RDBMS) konfiguriert werden, die von PDO unterstützt werden.

Hinweis:
Der Einfachheit halber haben wir die Datenbankdateien in der Document Root-Verzeichnisstruktur hinzugefügt. Aus Sicherheitsgründen wird jedoch empfohlen, datenbankspezifische Dateien außerhalb des Document Root zu speichern. In den meisten Produktivanwendungen wird ein serverbasiertes RDBM (relationales Datenbankmanagementsystem), z. B. MySQL oder Oracle, verwendet.

jukebox/library (JukeboxDb.php, JukeboxSong.php and JukeboxDataException.php)
Dieses Verzeichnis enthält Bibliotheksdateien, die von anderen Teilen der Anwendung verwendet werden, um auf die in der Datenbank gespeicherten Daten zuzugreifen:
  • JukeboxDb.php – Diese Datei definiert die JukeboxDb-Klasse, die in der gesamten Anwendung verwendet wird, um eine Verbindung zur Datenbank herzustellen und diese abzufragen. Die Klasse ‘umschließt’ die PDO-Klassen und stellt eine vereinfachte Schnittstellen für den Zugriff auf die Datenbank zur Verfügung.
  • JukeboxSong.php – Diese Datei definiert die JukeboxSong-Klasse, die in der gesamten Anwendung verwendet wird, um einen Song darzustellen. Jeder Song wird durch eine Instanz dieser Klasse dargestellt. Alle Songeigenschaften (z. B. Künstler, Name usw.) werden als Eigenschaften innerhalb von Objekten dieser Klasse gespeichert. Wenn Songdaten aus der Datenbank abgerufen werden, werden sie in Instanzen dieser Klasse eingetragen.
  • JukeboxDataException.php – Diese Datei definiert die JukeboxDataException-Klasse, die die integrierte PHP-Exception-Klasse erweitert. Sie wird verwendet, um Fehler im Zusammenhang mit dem Datenzugriff in der Anwendung darzustellen.

jukebox/style/jukebox.css
Dies ist das Stylesheet der Anwendung, das die visuellen Eigenschaften der Anwendung definiert. Diese Datei wird von PHP nicht geparst. Sie wird stattdessen vom Browser beim Rendern von Seiten geparst.

Ressourcen
FOREN

Besuchen Sie das Forum Mehr erfahren»

WHITE PAPER

Applikations-Führerschaft in 2013 DevOps: Agile Auslieferung als Wettbewerbsvorteil Mehr erfahren»

WEBINAR

Entdecken Sie, wie Zend Server 6 die DevOps-Kluft überbrückt Mehr erfahren»

Fallstudie

Erfahren Sie, wie Offers.com mit den Zend Lösungen eine sehr erfolgreiche E-Commerce Website erstellt hat und managed Mehr erfahren»

DOKUMENTATION

Online-Dokumentation Mehr erfahren»

Kundenstimmen

   Wenn es um den ROI geht, sehen wir unsere Investition in Zend Technologie in mehrerer Hinsicht als Vorteil. Die Verwaltung des PHP Stacks ist einfach und die starke Fehlererkennung und das Reporting helfen uns dabei, Zeit für das Troubleshooting zu reduzieren und gleichzeitig die Applikations-Verfügbarkeit und -Reaktionszeit zu verbessern. Allein mit dem Session-Clustering hat sich Zend in dem Moment, wo wir den Schalter umgelegt haben, mehr als bezahlt gemacht.   

Eric LongSr. Manager, E-Business

   Zend Server hat sich durch die Probleme, die wir gefunden und behoben haben, bereits in der ersten Woche amortisiert - ein Vorteil, der sich noch exponentiell mit dem Wachstum unserer E-Commerce Applikation vergrößert.   

Josh Butts Director of Web Development, Offers.com

   Wir haben mit dem Code Tracing die DataCache-Parameter optimiert. Es wäre sehr schwierig gewesen, dies ohne die Möglichkeit, den Code direkt in der Produktionsumgebung zu verfolgen, zu erreichen. Wir haben eine große Performance-Steigerung erzielt.   

Morgan NilssonSystem-Entwickler, Ateles Consulting AB