IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Langage PHP Discussion :

arborescence pour une architecture MVC


Sujet :

Langage PHP

  1. #1
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 143
    Points : 3 884
    Points
    3 884
    Billets dans le blog
    1
    Par défaut arborescence pour une architecture MVC
    Bonjour,

    étant parti pour l'élaboration de mon site de l'article de blog de rawsrc sur le tennis (https://www.developpez.net/forums/bl...nis-php-objet/), je suis arrivé à cette arborescence :
    Action
    Classes
    Model 
    Vendor
    View
    Au début, c'était seulement
    Action
    Classes
    View
    Le répertoire Vendor vient du fait que j'ai utilisé la classe PhpEcho de rawsrc et le répertoire Model de mon souhait d'adopter une architecture MVC. De ce fait, ne serait-il pas logique de renommer le répertoire Action en Controller (à mon sens, il a le rôle d'un controller), de mettre tous les fichiers du répertoire Classes dans l'un des 3 répertoires MVC ( Model, View ou Controller ) et enfin tous les fichiers utilitaires (CSS, images, etc) dans Vendor ?
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

  2. #2
    Membre actif Avatar de Trehinos
    Homme Profil pro
    Analyste développeur PHP
    Inscrit en
    novembre 2012
    Messages
    96
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 30
    Localisation : France, Hérault (Languedoc Roussillon)

    Informations professionnelles :
    Activité : Analyste développeur PHP
    Secteur : Distribution

    Informations forums :
    Inscription : novembre 2012
    Messages : 96
    Points : 214
    Points
    214
    Par défaut
    Bonjour Laurent,

    Je dirais... comme vous voulez concernant les noms.
    La sémantique qui vous paraît la plus logique sera forcément la meilleure, le but étant que vous ayez à réfléchir le moins possible pour retrouver vos fichiers. Le développement est assez prenant pour le cerveau pour ne pas avoir à s'amuser à chercher sa propre logique pour rechercher un fichier particulier.


    Je vous déconseille de mettre les CSS/JS dans le répertoire Vendor. En effet ce dossier est là pour stocker toutes les bibliothèques PHP.
    Habituellement, j'ajoute un dossier Web ou www qui contient le index.php (comme le fait Symfony, par exemple). Ainsi la racine de mon virtualhost est dans le dossier Web et il est impossible pour un navigateur de lancer une requête sur les autres fichiers que le dossier Web. Les CSS/JS vont donc là-dedans (les bibliothèques externes (jQuery, bootstrap) dans un dossier Web/Vendor, mes propres fichiers directement dans Web éventuellement organisé en sous-dossiers).
    Même si vous n'utilisez pas de dossier Web, je vous conseille de créer un dossier Assets qui contiendra les CSS/JS/Images du dossier pour bien séparer le code (PHP) des assets (CSS/JS/Images).

  3. #3
    Membre expert

    Homme Profil pro
    Webmaster débutant perpétuel !
    Inscrit en
    octobre 2006
    Messages
    8 143
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 56
    Localisation : France, Isère (Rhône Alpes)

    Informations professionnelles :
    Activité : Webmaster débutant perpétuel !
    Secteur : Industrie

    Informations forums :
    Inscription : octobre 2006
    Messages : 8 143
    Points : 3 884
    Points
    3 884
    Billets dans le blog
    1
    Par défaut
    Merci Trehinos de votre réponse. Je vais donc adopter ce que je proposais, à l'exception, comme vous le dites, de loger les CSS/JS/images dans le répertoire Vendor. Le nom de Assets, déjà vu mais oublié, donc OK.
    Pour les bibliothèques externes (comme Jquery ou Bootstrap), quand je les inclus, j'ai l'habitude d'utiliser un Content Delivery Network (CDN), ce qui évite d'avoir à les stocker.
    Il vaut mieux viser la perfection et la manquer que viser l'imperfection et l'atteindre. - Bertrand Russell

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. CakePHP 3.0 : stabilisation pour le framework PHP qui propose une architecture MVC
    Par Darkaurora dans le forum Bibliothèques et frameworks
    Réponses: 13
    Dernier message: 31/03/2015, 17h39
  2. Diagramme de classes d'une architecture MVC
    Par maglif dans le forum MVC
    Réponses: 1
    Dernier message: 20/05/2007, 16h53
  3. Utiliser une architecture MVC
    Par misterniark dans le forum MVC
    Réponses: 5
    Dernier message: 03/11/2006, 23h35

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo