Structure du projet pour PHP
Je suis nouveau en PHP et que vous voulez savoir la structure de répertoire pour les projets php. J'ai de l'expérience en Java et en java, nous avons src contient les fichiers source java, WEB-INF contient lib, et des pages jsp. Nous n'avons aucune norme semblable structure de répertoire en PHP?
Aussi avons-nous de la superposition, dans le php comme nous l'avons couches en java (par exemple, Web, Service, DAO couches)
J'ai parcouru quelques liens. Mais chacun de donner des réponses différentes.
Ne sais pas si on peut comparer les deux langues. Je veux juste rester à certaines normes.
Merci d'avance.
source d'informationauteur javafan
Vous devez vous connecter pour publier un commentaire.
Nope. PHP est ce que vous en faites. Il peut être très simple plat de fichiers, ou quand vous le voulez.
Cela étant dit, il y a un peu d'accord sur les normes de codage, mais il n'y a pas de "mise en œuvre" de ces normes. Ils sont appelés PSR (PHP Normes de la Recommandation). Il s'agit d'un fond sur elle ici: http://net.tutsplus.com/tutorials/php/psr-huh/
Vous pouvez consulter les normes, un par un ici: http://www.php-fig.org/psr/
La plupart des grands cadres de suivre ces normes, et si vous allez en utiliser un, il peut être plus facile à aller avec le courant.
Encore une fois, chaque cadre, un projet, un plugin, programme, etc, ont des dispositions différentes avec différentes structures du projet. Une structure commune est quelque chose comme ceci:
Ils utilisent ensuite les
.htaccess
fichier pour bloquer l'accès à des répertoires protégés. Encore une fois, c'est juste la représentation commune, je l'ai vu dans plusieurs cadres. Si vous faites un projet personnel, il suffit d'utiliser quelque chose qui est confortable pour vous. Chaque cadre est va vous donner une autre bibliothèque ou d'accéder aux données. Il n'y a pas de "couches", mais là encore, chaque cadre a des objets qui gèrent les différents domaines (e-mail, base de données, la mise en cache http, journaux, etc). Parce qu'il y a des dizaines de populaire, il est juste à vous de trouver ce qui convient à votre philosophie ou d'un projet. Regarder un peu de l'5 minutes de blog de vidéos, de voir ce que jives, et puis de lui donner un essai pour quelques jours. Si vous ne l'aimez pas, passez à un autre.Malheureusement (ou pas?) vous êtes très libre avec PHP. C'est à vous.
Voici ma structure:
Vous pouvez contrôler l'accès via .htaccess.
Avec l'invention du Compositeur, les gens ont maintenant une place centrale à inscrire leurs projets pour le monde de consommer, et d'autres personnes pouvez regarder maintenant que la base de code et de voir les similitudes.
Le résultat est le suivant: https://github.com/php-pds/skeleton
En bref:
Cette norme ne permet pas de faire des recommandations sur les répertoires qui doivent exister en dessous de
src
oupublic
. Je dirais tout simplement un espace de noms ci-dessoussrc
et à tout mettre en œuvre la diversification des "modèles", des "contrôleurs", etc. en le faisant par le nom de classe entièrement qualifié, par exemple, s'il est décidé d'avoir unProjectname\Controller\WhateverController
classe, elle réside dans le PSR-4 compatible cheminsrc/Controller/WhateverController.php
et être chargé via Composer avec"autoload":{"psr-4":{"Projectname\\": "src"}}
.J'ai tendance à utiliser un Fonction structure de dossier pour mon backend projets.
Toutes les fonctionnalités-dossier a son propre contrôleur, le gestionnaire et le fichier de routes. Cela fonctionne bien pour api-backends.
Par exemple, nous avons un Client avec un CustomerController, CustomerRepository, CustomerRoutes,..
Mon dossier structure ressemble à ceci:
c'est la meilleure structure de dossier: