2009-07-26 8 views
0

ive créé un mvc qui a ce niveau d'organisation dans la mesure où les dossiers et les fichiers de paramètres vont.Quelle est votre méthode de répertoires avec dans une racine

+[admin] 
-[js] 
-[css] 
-[images] 
-[classes] 
--list of php classes 
-[includes] 
--config.php (includes db connection str 
--functions.php (php functions) 



--root--- 

[js] 
[css] 
[images] 
[classes] 
--list of php classes 
-[includes] 
--config.php (includes db connection str 
--functions.php (php functions) 

le problème que j'ai avec cette structure est que vous pouvez voir la section d'administration a ses propres dossiers de classes, fonctions, et un fichier de configuration db.

puis la racine pour d'autres pages a son propre ensemble de pages pour les classes, les fonctions et connexion db (ce qui est le même que admin)

ive essayé d'avoir un seul dossier pour les classes et un autre pour comprend et ainsi sur ce que la section d'administration et les pages de racine partagent tous mais le résultat de cela devient un gâchis d'inclut tel qu'une toile d'araignée.

la méthode de l'inclusion ive essayé est

include_once (dirname (FICHIER) ./ répertoire/...) et ce que cela fait est si im intérieur d'un dossier et im essayant d'inclure un fichier est un niveau dans la page actuelle, il ne fonctionnera pas. et au lieu de cela en utilisant le répertoire racine principal, il inclut aussi le dossier im. donc ça ne sert à rien.

donc si ce fut ma racine: d:/wamp/www/site/ et j'ai été compris quelque chose de la racine principale dans un fichier à l'intérieur d'un répertoire nommé fonctions du dirname (FILE) auraient en réalité un valeur de d: \ wamp \ www \ website \ functions \

ce qui est une bonne méthode d'inclure des fichiers sans entrer dans un tas d'erreurs en essayant de comprendre ce qui se passe.

grâce

Répondre

1

Essayez quelque chose comme ça, et définir dans un fichier de configuration central. Cela donnera une seule constante pour tous vos chemins, puis définira quelques autres constantes, probablement une pour chaque dossier comme ROOT_CLASSES et ADMIN_CLASSES, avec les chemins de fichiers appropriés attachés. Ensuite, il s'agit simplement d'inclure des choses. Décrivez-le simplement avec la constante et ajoutez le nom du fichier. Si cela se trouve dans le fichier de configuration, avec d'autres déclarations, vous n'aurez plus à vous soucier de les définir plus tard.

+0

Je pensais à définir ces variables dans php.ini comment ferais-je cela? –

+0

Vous n'êtes pas capable de faire cela. php.ini définit comment PHP s'exécute, pas les constantes qu'il a. –

0

Voici comment je conçois pratiquement tous mes sites Web personnalisés.

  • [site] ce répertoire a seulement un index de fichier.php et est la racine du domaine
    • [js]
    • [css]
    • [images]
  • [modèle]
  • [voir]
  • [contrôleur]
  • [lib] - Code d'un tiers, PHPMailer et autres
  • [config]
  • [admin]
    • [js]
    • [css]
    • [images]
    • [modèle]
    • [Voir]
    • [contrôleur]

J'utilise __autoload pour inclure des fichiers. Il existe un certain nombre de façons d'optimiser ses performances et vous n'avez pas à vous soucier des inclusions. Je ne mets que du code admin spécifique sous admin donc des choses comme jQuery qui est utilisé par l'accès public et l'accès admin vont dans le site/js.

+0

Quel type de substance va dans le modèle, la vue et le contrôleur? –

+0

Les classes Model, View et Controller que je devrais imaginer :) – Etzeitet

Questions connexes