Difference between revisions of "File and Directory Structure"
(→Core Structure) |
|||
(13 intermediate revisions by one other user not shown) | |||
Line 1: | Line 1: | ||
− | Current proposed directory structure. Suggestions for improvements are welcome. | + | Current and proposed directory structure. Suggestions for improvements are welcome. |
+ | |||
+ | |||
+ | =HMVC= | ||
+ | Hierarchical model–view–controller | ||
+ | |||
+ | The concept of the directory and file structure is to create plug-able self contained applications. It is also designed as a move to refactor the project to use the HMVC design pattern. See the following links for additional information. | ||
+ | |||
+ | * http://techportal.inviqa.com/2010/02/22/scaling-web-applications-with-hmvc/ | ||
+ | * http://net.tutsplus.com/tutorials/php/hvmc-an-introduction-and-application/ | ||
=App Structure= | =App Structure= | ||
Design goal for applications are self contained application that is designed to plug in a simple way. | Design goal for applications are self contained application that is designed to plug in a simple way. | ||
− | location fusionpx/app | + | |
+ | location: fusionpx/app | ||
* root.php | * root.php | ||
* app_config.php | * app_config.php | ||
* app_defaults.php | * app_defaults.php | ||
− | * app_languages.php | + | * [[app_languages.php]] |
− | |||
− | |||
− | |||
* resources | * resources | ||
** classes | ** classes | ||
− | ** | + | ** models |
− | ** images | + | ** views |
+ | *** images (global) | ||
+ | *** view - support multiple sets of views. | ||
+ | **** images - images specific to this view | ||
+ | ** controllers | ||
** xml | ** xml | ||
*** dialplan | *** dialplan | ||
Line 21: | Line 32: | ||
=Core Structure= | =Core Structure= | ||
Same as App Structure only the bare minimum applications belong in core such as menu, user managerment, groups, permissions, domains and default settings. | Same as App Structure only the bare minimum applications belong in core such as menu, user managerment, groups, permissions, domains and default settings. | ||
+ | |||
+ | location: fusionpx/core | ||
=Future Improvements= | =Future Improvements= | ||
+ | |||
* includes/lib_switch.php | * includes/lib_switch.php | ||
− | + | Move the functions this file contains into classes in their respective directories. | |
+ | |||
+ | * includes directory | ||
+ | Consider renaming this directory to resources. | ||
+ | |||
+ | * includes classes | ||
+ | Move the specific classes into their respective app/resources/classes directories. | ||
− | * includes | + | * includes/classes/install.php |
+ | Move the rest of the install.php file into methods of the install class. |
Latest revision as of 01:07, 5 June 2013
Current and proposed directory structure. Suggestions for improvements are welcome.
HMVC
Hierarchical model–view–controller
The concept of the directory and file structure is to create plug-able self contained applications. It is also designed as a move to refactor the project to use the HMVC design pattern. See the following links for additional information.
- http://techportal.inviqa.com/2010/02/22/scaling-web-applications-with-hmvc/
- http://net.tutsplus.com/tutorials/php/hvmc-an-introduction-and-application/
App Structure
Design goal for applications are self contained application that is designed to plug in a simple way.
location: fusionpx/app
- root.php
- app_config.php
- app_defaults.php
- app_languages.php
- resources
- classes
- models
- views
- images (global)
- view - support multiple sets of views.
- images - images specific to this view
- controllers
- xml
- dialplan
Core Structure
Same as App Structure only the bare minimum applications belong in core such as menu, user managerment, groups, permissions, domains and default settings.
location: fusionpx/core
Future Improvements
- includes/lib_switch.php
Move the functions this file contains into classes in their respective directories.
- includes directory
Consider renaming this directory to resources.
- includes classes
Move the specific classes into their respective app/resources/classes directories.
- includes/classes/install.php
Move the rest of the install.php file into methods of the install class.