Frage

Ich habe mehr CI Implementierung Beispiele gesehen, die Sie beanspruchen können für Codeigniter Projektordner unter dem Ordner „Programme“ setzen.

Allerdings habe ich nicht in der Lage gewesen, diese Arbeit zu sehen, wie versprochen.

Hier ist, was ich getan habe und was ich tun möchte - vielleicht können Sie helfen. Aus Gründen der Argumentation meines Dokument Wurzel / www / (es ist nicht, aber sie nutzt es für die Einfachheit halben)

Ich habe den codeigniter Kern setzen in / www / corelib / codeigniter

Ich habe das codeigniter System setzt Ordner in / www / ci_system

Ich habe in / www / Anwendungen

das Anwendungsverzeichnis setzen

Ich habe meinen "Einstiegspunkt" in / www / dd

put

Lassen Sie uns jetzt sagen, ich habe zwei Projekte: „Dataentry“ und „cPanel“

Die Ideen sind, dass ich gehen

h ** p: // mydomain / tt / Dataentry // für die Dataentry-Anwendung und

h ** p:. // mydomain / tt / cPanel // für die cPanel Anwendung

Wenn ich die Dataentry und cpanel Verzeichnisse wie folgt organisieren:

/ www / Anwendungen / controllers / Dataentry

/ www / Anwendungen / controllers / cPanel

/ www / Anwendungen / models / Dataentry

/ www / Anwendungen / models / cPanel

/ www / Anwendungen / views / Dataentry

/ www / Anwendungen / views / cPanel

Ich kann dies zu funktionieren bekommen. Doch was würde Ich mag es, das Modell und die Ansicht auf dem gleichen Niveau wie der Controller halten tun, damit ich hätte folgende:

/ www / Anwendungen / Dataentry / Controller

/ www / Anwendungen / Dataentry / Modelle

/ www / Anwendungen / Dataentry / Ansichten

/ www / Anwendungen / cpanel / Controller

/ www / Anwendungen / cpanel / models

/ www / Anwendungen / cpanel / Ansichten

Dies scheint nicht zu arbeiten.

Irgendwelche Vorschläge?

-CF

War es hilfreich?

Lösung 2

Ok - ich habe diese Arbeit bekam nach Wunsch. Ich werde versuchen, ein umfangreichere „How-to“ zu schreiben und einen Link in den Kommentaren zur Verfügung stellen.

musste ich nicht mehr ändern .htaccess als CI erfordert - ich war glücklich darüber. Mein Eintrag Verzeichnis wie folgt aussehen:

/dd/index.php

Die beiden wichtigsten Stücke sind hier:

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

Dies ermöglicht es einem einzigen index.php alle Anwendungen bedienen zu können.

Der Teil, dass ich fehlte, dass appName muss nun auch der primäre Controller oder ein Verzeichnis innerhalb des Controller sein. (Das eigentliche Problem, das ich hatte, war, dass ich so viel Hacking, dass ich Konfigurationen und Routen hatte mich zu verhindern, dass zu wissen, was ich tatsächlich nicht zu sehen. Manchmal beginnen sauber ist zwingend notwendig)

Andere Tipps

Hat jede Anwendung ( "Dataentry" und "cPanel") ihre eigene Hauptes index.php-Datei, die den entsprechenden $ application_folder Variable definiert?

Auch - und ich bin sicher, haben Sie die Dokumentation lesen - aber CodeIgniter Dokumentation besagt, dass das Verzeichnis / applications (oder Verzeichnisse, in Ihrem Fall) sollte unter dem / Systemverzeichnis existieren wie folgt:

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/
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top