2010-05-20 8 views
11

Ich benutze Kohana 3, um eine Website zu erstellen, die zwei Anwendungen hat, eine Admin-Anwendung und das eigentliche Website-Frontend. Ich habe meine Ordner trennten sich die beiden Anwendungen getrennt zu haben, so dass die Hierarchie sieht wie folgt aus:Kohana PHP - Mehrere Apps mit gemeinsamem Modell

/applications 
    /admin 
     /classes 
     /controller 
     /... 
    /site 
     /classes 
     /controller 
     /.... 

Meine Frage ist, wie ich über die Schaffung eines gemeinsamen/Modellordner gehen müssen. Im Wesentlichen arbeiten sowohl der Administrator als auch die Site selbst mit denselben Daten, sodass die Datenbankschicht und die Geschäftslogik mehr oder weniger gleich bleiben. Für mich ist es sinnvoll, einen einzigen Modellordner außerhalb der beiden Anwendungsordner zu haben. Ist es möglich folgende Hierarchie zu erreichen:

/applications 
    /model --> Where model sits in a neatly generic location, accessible to all applications 
    /admin 
     /classes 
     /controller 
     /... 
    /site 
     /classes 
     /controller 
     /.... 

Vielen Dank im Voraus!

Antwort

5

Sie können Gruppe alle freigegebenen Modelle in ein Modul. Grundsätzlich sind Anwendungen und Systemverzeichnisse nur spezielle Module.

+0

Das könnte funktionieren, ich Versuchen Sie, einen Ordner mit dem Namen model in modules zu erstellen. Scheint die machbarste Lösung. –

0

Ich weiß nicht, ob es das ist, was Kohana normalerweise tut, da ich nur oberflächliche Kenntnisse von Kohanas Ordnerhierarchie habe, aber Sie könnten dies ziemlich einfach mit einigen Symlinks im Dateisystem tun, vorausgesetzt Sie befinden sich auf einem Unix/Linux Architektur.

http://en.wikipedia.org/wiki/Symbolic_link

2

Sie könnten Ihre Hierarchie ändern, während nach wie vor dem Admin und öffentlichen Bereich wie so getrennt zu halten:

 
/application 
     /classes 
      /controller 
       /admin 
       /site 
      /model 
       /admin 
       /site 
       model.php 
     helper.php 

Auf diese Weise sowohl admin admin und Stelle gemeinsam Helfer verwenden und Modelle