2009-10-08 7 views
2

J'ai vu plusieurs exemples d'implémentation de CI qui prétendent que vous pouvez mettre des dossiers de projet sous le dossier "applications" pour Codeigniter.Comment configurez-vous Codeigniter pour gérer plusieurs projets avec une base de données partagée?

Cependant, je n'ai pas été en mesure de voir ce travail comme promis.

Voici ce que j'ai fait et ce que je voudrais faire - peut-être que vous pouvez aider. Par souci d'argument ma racine du document est/www/(Ce n'est pas, mais nous allons l'utiliser pour pour simplifier) ​​

J'ai mis le noyau de CodeIgniter dans/www/corelib/CodeIgniter

J'ai mettre le dossier système de CodeIgniter dans/www/ci_system

J'ai mis le répertoire des applications dans/www/applications

J'ai mis mon "point d'entrée" dans/www/dd

maintenant disons que j'ai deux projets: "dataentry" et "cpanel"

Les idées est que je peux aller à

h ** p: // mondomaine/dd/dataentry // pour l'application dataentry et

h ** p: // mondomaine/dd/cpanel // pour l'application cpanel.

Si j'organise les répertoires DataEntry et cPanel comme celui-ci:

/www/applications/contrôleurs/dataentry

/www/applications/contrôleurs/cPanel

/www/applications/modèles/dataentry

/www/applications/modèles/cPanel

/www/applications/vues/dataentry

/www/applications/views/cpanel

Je peux obtenir ce bon fonctionnement. Cependant, ce que je voudrais faire est de garder le modèle et la vue au même niveau que le contrôleur pour que j'aurais les suivantes:

/www/Applications/dataentry/contrôleurs

/www/applications/DataEntry/modèles

/www/Applications/DataEntry/vues

/www/Applications/cPanel/contrôleurs

/www/applications/cPanel/modèles

/www/applications/cpanel/views

Cela ne semble pas fonctionner.

Des suggestions?

-CF

Répondre

0

Ok - J'ai ce travail comme vous le souhaitez. Je vais essayer de rédiger un "how-to" plus complet et fournir un lien dans la section des commentaires.

Je ne devais pas modifier .htaccess plus que CI exige - j'étais heureux. Ma sélection entrée ressemble à ceci:

/dd/index.php

Les deux éléments clés sont ici:

list($blank, $webpath, $app) = explode('/', $_SERVER['REQUEST_URI']); 
     $application_folder = $_SERVER['DOCUMENT_ROOT]."/applications/$app"; 

Cela permet à un seul index.php gérer toutes les applications.

La partie que je manque que appName doit maintenant être le contrôleur principal ou un répertoire dans les contrôleurs. (Le vrai problème que j'avais été que je hacking tellement que j'avais des configurations et des itinéraires me empêchent de réaliser ce que je fait voir: Parfois commence propre est impératif.)

0

Est-ce que chaque application ("dataentry" et "cPanel") ont leur propre fichier principal index.php qui définit la variable appropriée de application_folder de $?

aussi - et je suis sûr que vous avez lu les documents - mais CodeIgniter's documentation indique que le/applications répertoire (ou répertoires, dans votre cas) devraient exister dans le répertoire/système comme suit:

system/application/foo/ 
system/application/foo/config/ 
system/application/foo/controllers/ 
system/application/foo/errors/ 
system/application/foo/libraries/ 
system/application/foo/models/ 
system/application/foo/views/ 
system/application/bar/ 
system/application/bar/config/ 
system/application/bar/controllers/ 
system/application/bar/errors/ 
system/application/bar/libraries/ 
system/application/bar/models/ 
system/application/bar/views/ 
+0

L'emplacement par défaut du répertoire de l'application est dans le système répertoire - cependant ceci est variable et facile à changer, et fait partie des "paramètres configurables par l'utilisateur" dans le fichier index.php principal. Votre premier point - des fichiers individuels ou des fichiers index.php (app-name) est vraiment au cœur du problème. J'espérais éviter de les utiliser et garder un seul fichier index.php. Je suis à la recherche dans les utilisations créatives du fichier. Htaccess maintenant ... Merci pour votre aide! -CF – ChronoFish

+0

Pas de problème - bonne chance! –

Questions connexes