SAND est nommé pour l'acronyme récursif (Simplement [AND et] un Autre Nouveau Dossier)
Tout d'abord, avant même de vouloir vous montrer comment ajouter de nouvelles pages, je vais représenter la structure, ainsi vous comprendrez où se trouvent les fichiers nécessaires où que vous devrez implémenter afin d'ajouter une simple page Hello_World
et un peu plus Hello_All_About_The_World
La racine de SAND contient les dossiers suivant :
application
class
:
config
: dossier contenant les fichiers de configuration de l'application
include
: DOSSIERS CENTRAUX DE DEVELOPPEMENTS
actions
: dossier contenant les actions réutilisables dans les vues de l’application
conduits
: dossier contenant le contrôleur qui est conduit par le routage symfony, ici utilisé exclusivement pour générer des réponses AJAX
controlleurs
: dossier contenant les contrôleurs de l’applications, nous verrons plus tard le modèles MVC propre au framework, mais il faut savoir que les controlleurs contiennent les accès en bdd de la page correspondant à son nom
modeles
:dossier contenant les modèles de l’application, il faut savoir que les modèles ont l’extension .model et contiennent les variable propres à la page, comme le title, la description ou plus récemment le fil d’ariane
vues
: dossier contenant les fichiers blade ou twig utilisé dans les pages, les actions et les conduits dont voici le détail :
_ cache
: dossier contenant les fichiers de cache généré par le moteur de rendu
_ layout
: dossier contenant les différents layouts des pages
_ system
: dossier contenant le/les layout(s) système(s)
_ view
: dossier contenant toutes les vues de l’application, une convention de nommage peut être établie suivant le domaine de l’application, par exemple, toutes les vues des actions doivent commencer par action et toutes les vues des conduits doivent commencer par le nom du conduit duquel ils sont appelés
logs
: dossier contenant les fichiers de logs générés par vos controlleurs
modules
: dossier contenant les modules de l’application
objets
: DOSSIER DE PULL-SEMI-DEVELOPPEMENT dossier contenant les objets de session du framework pouvant être modifié par un utilisateur et qui peut être soumis à un pull request, mais pas toujours
traitements
: DOSSIER DE DEVELOPPEMENT PRG dossier contenant les traitements de formulaire selon le respect du pattern PRG (Post Redirect Get)
console
: dossier contenant les commandes console propres au framework et à l’application*
command
: dossier contenant les commandes console du framework et de l’application
App
: DOSSIER DE DEVELOPPEMENT COMMAND dossier contenant vos commandes
Sand
: DOSSIER DE PULL-SEMI-DEVELOPPEMENT dossier contenant les commandes du framework pouvant être modifié par un utilisateur et qui peut être soumis à un pull request, mais pas toujours
skel
:
data
: dossier contenant des données qui sont chargé par l’applications ou le framework
docs
: dossier contenant la documentation de l’applicationdomain
: DOSSIER DE DEVELOPPEMENT DDD dossier contenant les classes propres à la manipulation du domaine visé par l’application, ces classes peuvent être testées unitairement par PHPUnit
public
: DOSSIER DE DEVELOPPEMENT GRAPHIK dossier contenant la racine publique de l’application, le serveur apache doit pointer sur ce dossier pour que le reste ne soit pas accessible, il contient tous les assets (css, js) de l’application ainsi que le fichier index.php et .htaccess redirigant toutes les requêtes vers l’index.
tests
: DOSSIER DE DEVELOPPEMENT TDD
behat
: dossier contenant les fichiers de tests fonctionnels
phpunit
: dossier contenant les fichiers de tests unitaire
et :
vendor
node_modules
Voilà vous êtes prêt, lancez donc la SANDcommande suivante depuis la racine
php console/bin.php page:add
puis répondez aux questions en donnant un nom tel que hello_world
, et... trois(3) nouveaux fichiers sont apparus dans application/include
: au sein de controlleurs
, modeles
et vues/view
Ouvrez les et regardez, votre nouvelle page est accessible sur http://my-new-sand-project.dev.local/hello_world