views:

218

answers:

3

I'm using Kohana 3 to create a website that has two applications, an admin application and the actual site frontend. I have separated my folders to have the two applications separated, so the hierarchy looks as follows:

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

My question is, how I need to go about creating a shared /model folder. Essentially, both the admin and site itself operates on the same data, so the database layer and business logic remains more or less the same. So to me, it makes sense to have a single model folder, sitting outside of the two application folders. Is it possible to achieve the following hierarchy:

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

Thanks in advance!

A: 

I don't know if it's what Kohana normally does as I only have cursory knowledge of Kohana's folder heirarchy, but you could do this fairly simply with some symlinks on the file system, assuming you're on a unix/linux architechture.

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

AvatarKava
+3  A: 

You can group all your shared models into a module. Basicaly, applications and system directories are just special modules.

Delapouite
This could work, I'll try creating a folder called model inside modules. Seems the most feasible solution.
Joe Zephyr
+1  A: 

You could change your hierarchy while still keeping the admin and public section separated like so:

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

This way both admin admin and site can use common helpers and models

flux