Difference between revisions of "File and Directory Structure"

From FusionPBX
Jump to: navigation, search
(Future Improvements)
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 the goal of moving the project to 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=
Line 23: Line 30:
  
 
=Future Improvements=
 
=Future Improvements=
 +
 
* includes/lib_switch.php
 
* includes/lib_switch.php
 
Move the functions this file contains into classes in their respective directories.
 
Move the functions this file contains into classes in their respective directories.

Revision as of 07:33, 11 October 2012

Current and proposed directory structure. Suggestions for improvements are welcome.


  • HMVC - Hierarchical model–view–controller

The concept of the directory and file structure is the goal of moving the project to the HMVC design pattern. See the following links for additional information.

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
  • models
  • views
  • controllers
  • resources
    • classes
    • functions
    • images
    • 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.

Future Improvements

  • includes/lib_switch.php

Move the functions this file contains into classes in their respective directories.

  • includes directory

Considering 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.