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»

DATENBLATT

Lesen Sie, wie Zend Server den Applikationserfolg sichern kann

Mehr erfahren»

Kundenstimmen

   Der Einsatz der Möglichkeiten und SDK von Zend Server hat es uns ermöglicht, die Skripting- und Packaging-Mechanismen für das Deployment unseres Codes zu vereinfachen und Server-Cluster mühelos zu supporten, wodurch weniger geübte Benutzer befähigt wurden, Deployments anzustoßen. Dies stellte eine zusätzliche Kontrolle und die Flexibilität sicher, die für Novadex erforderlich ist, um an der Spitze des cloudbasierten Kommunikations-Managaments zu bleiben.   

Andreas RossbachCTO, Novadex

   Unsere Provisioning-Skripte und die vollständige Funktionalität des Zend-Deployments haben viele manuelle Prozesse eliminiert. Über Zend Server und Zends laufenden Support haben wir auch viel Erfahrung darüber gesammelt, wie wir Performancetests besser ausführen können.    

Josh Butts Director of Enterprise Architecture, CDS Global

   Mit Zend Server können Sie multiple Applikationen auf dem selben Server ausführen, während andere Modelle nur eine Applikation pro Server erlauben. Dies rechnet sich für uns in Kostenersparnis um, weil auf unserem Entwicklungs-QA-Testserver 12 Applikationen parallel laufen und mit Amazon Cloud sind unsere Serverkosten der größte Aufwandsposten.   

Jonathan MarstonVice President of Engineering, EnglishCentral