2010-09-24 5 views
1

Que vous structurez votre application PHP vous-même ou utiliser un framework MVC (ou autre), quelle structure dossier-vous les plus logiques et vous avez trouvez que vous avez été coller à. Je n'ai toujours pas développé une structure de dossier à laquelle je suis attaché, mais j'ai remarqué que tous mes projets, même ceux de 2 pages, ont au moins un dossier webroot (pour des fichiers comme htaccess, index, css, havascript) et un autre dossier pour le dessus de la racine du Web où j'essaie de garder autant de fichiers que possible. Assez basique. Espérant entendre ce que les autres font pour garder leurs programmes organisés.Quelle structure dossier utilisez-vous

+0

duplication possible http://stackoverflow.com/questions/1795136/ideal-folder-structure-of-mvc-framework et http: // stackoverflow. com/questions/3040308/dossier-structure-d'un-php-mvc-cadre-je-fais-ce-droit/ – Serge

+0

@Serge, merci pour les liens utiles. Mais je ne suis pas biaisé vers l'architecture MVC en particulier. Toute structure de dossier est correcte, y compris le fichier 1 par page. – jblue

Répondre

4

Mon Default Folder Structure pour des projets web est

+projectname/ 
    +htdocs/ 
    | +assets/ 
    | | +js/ 
    | | +css/ 
    | | +img/ 
    | | +swf/ 
    | +content/ 
    +sys/ 
    | +temp/ 
    | +config/ 
    | +libs/ 
    +docs 
4

Si vous utilisez un cadre, je recommanderais coller à la structure du dossier recommandé pour le cadre. Cela signifie qu'une fois que vous l'aurez appris, vous pourrez plus facilement vous adapter à d'autres projets réalisés à l'aide de ce cadre, et d'autres codeurs familiers avec le cadre vous comprendront aussi plus facilement.

3

Pour petits projets je l'habitude d'utiliser ce qui suit pour travailler à partir de:

  • httpdocs (racine web)
    • data-providers (endpoints AJAX)
    • script (JS: les services publics, les scripts, les bibliothèques)
    • style (CSS et graphiques - principalement sprites au lieu du gfx dossier que je l'habitude d'avoir)
  • models (classes PHP)

En ce qui concerne les fichiers PHP dans httpdocs J'utilise habituellement un fichier par page/fonctionnalité (y compris CRUD operations de base).

+0

Donc, vous mettez des fichiers PHP pour les opérations CRUD dans httpdocs, avec des fichiers PHP pour les pages Web? Quel genre de fichiers sont dans les "fournisseurs de données" alors? Et comment accédez-vous aux modèles? en utilisant le chemin "../"? – Tomas

+0

@Tomas Les modèles sont '__autoload''ed à partir d'un fichier config.php inclus dans' .htaccess' résidant dans le dossier parent de 'httpdocs' et' models'. 'data-providers' contient des ressources pour renvoyer des fragments, par exemple, city-for-zip etc., chargés via jQuery. Comme pour les opérations CRUD: un fichier - par exemple, 'user.php' - (par défaut) affichera une instance' User' mais gérera aussi la création et la mise à jour. Pas vraiment MVC, je sais, mais ce sont des projets mineurs (surtout privés). – jensgram

2

Je suivent généralement quelque chose de similaire à Martin Holzhauer, mais je garde tout php commune inclut dans un arbre séparé (référencé via le include_path - appeler libs communes) .

Chaque page destinée à être directement adressable via le navigateur est créé comme index.php dans son propre répertoire. inclure des fichiers (ou tout autre contenu) spécifique à cette seule page aller dans ce répertoire, commun inclus dans les bibliothèques communes.

En gardant la température de téléchargement et inclure du contenu en dehors de la racine web, il simplifie la sécurité un peu. En pratique, j'ai plusieurs chemins d'inclusion - pour une explication complète voir l'article dans PHP Architect plus tôt cette année - mais cela me permet de contrôler différentes configurations (par exemple les paramètres de base de données) pour dev/staging/live. Et aussi pour remplacer des fichiers particuliers (par exemple pour ajouter une journalisation/des diagnostics supplémentaires)

Questions connexes