Chaque site basé sur ZF3 (y compris l'application squeleton) est organisé de la même manière. Bien sûr, vous pouvez configurer votre application pour utiliser une autre disposition de dossier, mais cela peut rendre difficile la prise en charge de votre site par d'autres personnes qui ne sont pas familiarisées avec une telle structure de dossier.
Jetons un coup d'œil à la structure typique des dossiers Zend (voir figure 2.1) :
Comme vous pouvez le voir, dans le répertoire de premier niveau (on l'appellera désormais APP_DIR
), il y a plusieurs
fichiers :
composer.json
est un fichier de configuration au format JSON nécessaire à Composer.
composer.lock
qui contient des informations sur les packages installés avec Composer.
composer.phar
est une archive PHP exécutable contenant le code de l'outil de gestion des dépendances Composer.
docker-compose.yml
et Dockerfile
sont des fichiers nécessaires à Docker Container Manager. Sont utilisation est optionnelle et nous n'allons pas traiter le sujet dans ce guide.
LICENSE.md
est un fichier texte contenant la licence ZF3 (que vous avez pu lire dans Introduction à Zend Framework 3).
La licence ne vous permet pas de supprimer ou modifier ce fichier, alors n'y touchez pas.
phpunit.xml.dist
est un fichier de configuration pour PHPUnit (framework de test unitaire).
Vous utilisez ce fichier lorsque vous souhaitez créer des tests unitaires pour votre site.
README.md
est fichier texte contenant une brève description de l'application skeleton. Vous allez généralement
remplacer le contenu de ce fichier par les informations sur votre site web comme son nom, son fonctionnement et comment
l'installer.
TODO.md
est un fichier auxiliaire qui peut être supprimé en toute sécurité.
Vagrantfile
est un fichier auxiliaire qui contient la configuration de Vagrant, qui est
un gestionnaire d'environnement de développement virtuel.
Vous pouvez ignorer ce fichier si vous ne savez pas ce qu'est Vagrant. Nous n'aborderons pas le sujet.
Et nous avons aussi plusieurs sous-dossiers :
Le répertoire config
contient les fichiers de configuration de l'application.
Le répertoire data
contient les données que votre application pourrait créer. il peut également contenir un cache utilisé pour accélérer Zend Framework.
Le répertoire module
contient tous les modules de l'application.
Actuellement, il existe un seul module appelé Application. Le module Application
est le module principal de votre site.
Vous pouvez créer d'autres modules ici si vous le souhaitez. Nous parlerons des modules un peu plus tard.
Le dossier vendor
va contenir les fichiers des bibliothèques tierses, y compris les fichiers de Zend Framework 3.
C'est typiquement Composer qui s'occupe d'y copier les fichiers.
Le dossier public
contient les données publiques accessibles aux internautes. Comme vous le savez,
les internautes communiquent avec le serveur via le fichier index.php, qui est le point d'entrée de votre site web.
Votre site aura un seul point d'entrée, index.php, c'est plus sécurisé que de permettre à quiconque d'accéder à tous vos fichiers PHP.
À l'intérieur du répertoire public
, vous pouvez également trouver le fichier .htaccess.
Son but principal est de définir des règles de réécriture d'URL.
Le répertoire public
contient plusieurs sous-dossiers qui sont également accessibles par les internautes :
css
contient tous les fichiers CSS.fonts
contient des polices Web spécifiques à l'application.img
contient les images accessibles au public (.JPG, .PNG, .GIF, .ICO, etc.).js
contient les fichiers JavaScript utilisés par vos pages web.
Généralement, les fichiers de la bibliothèque jQuery sont placés ici, mais vous pouvez également
y placer vos propres fichiers JavaScript.Qu'est ce que jQuery ?
jQuery est une bibliothèque JavaScript qui a été créée pour simplifier le code JavaScript des pages HTML. jQuery permet d'attacher facilement des événements à certains éléments HTML, ce qui rend très simple l'interactivité de vos pages HTML.
Parce que l'application Zend Skeleton est stockée sur GitHub, à l'intérieur de la structure du répertoire, vous trouverez
un fichier caché .gitignore
. C'est un fichier du système de contrôle de version GIT.
Vous pouvez l'ignorer (ou même le supprimer si vous n'envisagez pas de stocker votre code dans un dépôt GIT).