Déployez une application exemple d'accès à une base données sur Zend Server
Étape n°1 : téléchargez et extrayez des fichiers de l'application exemple
- Cliquez ici pour télécharger les fichiers.
- Pour plus de détails concernant le code utilisé dans cette application, reportez-vous à la section Derrière le code.
Étape n°2 : copiez le répertoire extrait dans la racine du document de Zend Server
Étape n°3 : accordez des autorisations d'écriture pour les données/le répertoire
Remarque: lors de l'exécution d'Apache sur Windows, les autorisations d'écriture sont définies par défaut. Vous pouvez alors passer cette étape.Cette application devra écrire les données sur le système de fichiers. Vous devez par conséquent donner à l'utilisateur du serveur Web les autorisations d'écriture pour les données / le répertoire de votre application exemple :
Sur Linux/Mac: exécutez la commande chown <web_server_user> <path_to_data_directory>.
Remplacez <web_server_user> par le nom de l'utilisateur de votre serveur Web et remplacez <path_to_data_directory> par l'emplacement des données / du répertoire (situés dans le répertoire d'application extrait).
Ex. : exécutez la commande suivante : # chown www-data /var/www/jukebox/data
Sur Windows/IIS: cliquez avec le bouton droit de la souris sur les données / le répertoire (situés dans le répertoire d'application extrait) puis sélectionnez Properties | Security (Propriétés | Sécurité). Veillez à ce que l'utilisateur de votre serveur Web dispose des autorisations d'écriture nécessaires pour ce dossier. Au besoin, cliquez sur Add (Ajouter) pour ajouter l'utilisateur du serveur Web et cochez la case ‘Write’ (Écriture) dans la liste des autorisations.
Étape n°4 : exécutez votre application
Ouvrez un navigateur Web et allez à la page principale de l'application, située à l'emplacement suivant : http://localhost:<port_number>/jukebox/index.php.- Remplacez <port_number> par le numéro du port sur lequel votre serveur Web écoute.
- Qu'est-ce que mon numéro de port ?
Félicitations - Vous pouvez maintenant utiliser votre application !

Que faire ensuite ?
- Reportez-vous à la section Derrière le code, ci-dessous, pour en savoir plus sur le code PHP que vous venez d'exécuter
- Pour accéder à d'autres exemples d'applications pouvant être exécutées sur Zend Server, cliquez ici
- Pour en savoir plus les principes de base de PHP, consultez la catégorie PHP 101
Derrière le code
L'application exemple « jukebox » est une application PHP simple de gestion de bibliothèque musicale. Elle se caractérise par l'utilisation de plusieurs fichiers PHP dans une application et par l'utilisation de l'interface PDO pour se connecter à la base de données et l'interroger.Pour afficher le code source de l'application, ouvrez les fichiers de l'application dans un éditeur de texte ou dans un IDE tel que Zend Studio pour Eclipse.
Remarque: pour importer les fichiers dans Zend Studio pour Eclipse, créez un projet PHP appelé ‘jukebox’ et importez-y les fichiers de l'application en allant à File menu | Import | General | File Sytem (Fichier| Importer | Général | Système de fichiers) et en recherchant le répertoire ‘jukebox’ extrait.
Aperçu des fonctions de chacun des fichiers de notre application :
jukebox/index.phpIl s'agit de la page principale de l'application. Elle comprend une liste des éléments actuellement stockés dans la base de données. Grâce à l'expression require_once(), ce fichier charge les autres fichiers contenant des fonctions communes telles que l'interrogation de la base de données, le filtrage des entrées ou la restitution de l'en-tête et du pied de page HTML.
jukebox/edit.php
Ce fichier restitue la page Add/Edit song (Ajouter/Modifier une chanson). Les opérations effectuées par le fichier varient selon les paramètres de demande HTTP envoyés ($_GET, $_POST and $_SERVER). Cela est déterminé par l'action sélectionnée par l'utilisateur :
- Lorsqu'un utilisateur clique sur Add (Ajouter), sur la page principale, une demande GET (Obtenir) est envoyée et le formulaire Add Song (Ajouter une chanson) s'affiche.
- Lorsqu'un utilisateur clique sur Edit (Modifier) à côté de l'une des chansons de la page principale, une demande GET est envoyée pour récupérer les données de la chanson dans la base de données et le formulaire Edit Song (Modifier une chanson) s'affiche.
- Lorsqu'un utilisateur clique sur Save (Enregistrer), dans le formulaire Add/Edit Song (Ajouter/Modifier une chanson), les entrées nouvelles/modifiées sont enregistrées dans la base de données et l'utilisateur est redirigé vers la page d'accueil.
jukebox/common (html-bottom.php and html-top.php)
Ce répertoire contient des fichiers PHP qui restituent des éléments du modèle HTML (en-tête et pied de page) communs à toutes les pages de l'application.
jukebox/config/jukebox-config.php
Il s'agit du fichier de configuration de l'application lu par toutes les pages de l'application. Dans cette application, il stocke uniquement les données de connexion à la base de données.
jukebox/data (jukebox.sq3 and schema.sql)
Ce répertoire contient les fichiers de la base de données SQLite. Par défaut, l'application jukebox se connecte à une base de données SQLite intégrée, mais il peut être configuré de manière à utiliser d'autres RDBMS (Relational Database Management Systems - Systèmes de gestion de base de données relationnelle) pris en charge par PDO.
Remarque: pour plus de simplicité, nous avons inclus les fichiers de la base de données sous la structure du répertoire racine du document. Néanmoins, pour des raisons de sécurité, il est recommandé de placer les fichiers de la base de données en dehors de la racine du document. Dans la plupart des applications de production, un RDBMS sur serveur, tel que MySQL ou Oracle, est utilisé.
jukebox/library (JukeboxDb.php, JukeboxSong.php and JukeboxDataException.php)
Ce répertoire contient des fichiers de bibliothèque utilisés par d'autres parties de l'application, pour accéder à des données stockées dans la base de données :
- JukeboxDb.php – Ce fichier définit la classe JukeboxDb, utilisée sur l'ensemble de l'application pour se connecter à la base de données ou l'interroger. La classe ‘englobe’ les classes PDO et fournit une interface d'accès simplifiée à la base de données.
- JukeboxSong.php – Ce fichier définit la classe JukeboxSong utilisée sur l'ensemble de l'application pour représenter une chanson. Chaque chanson est représentée par une instance de cette classe. Toutes les propriétés de chanson (artiste, titre, etc.) sont stockées comme des propriétés à l'intérieur des objets de cette classe. Lorsque les données de chanson sont récupérées dans la base de données, elles sont intégrées aux instances de la classe.
- JukeboxDataException.php – Ce fichier définit la classe JukeboxDataException qui étend la classe Exception intégrée de PHP. Il est utilisé pour représenter les erreurs liées à l'accès à la base de données dans l'application.
jukebox/style/jukebox.css
Il s'agit de la feuille de style de l'application définissant les propriétés visuelles de l'application. Ce fichier n'est pas analysé par PHP. Il est en revanche analysé par le navigateur lorsque des pages sont restituées.


