Author: Michael J. Fuhrman
Updated on: 2013-04-21
Posted on: 2010-07-29
Package: Ladder PHP
This describes the common directory structure I used when building applications.
In building large applications - applications that have 100's of components - Data Classes, Panel Classes, Forms, and Work Flows - it's easier to break them up into various folders. This method allows me to manage the common components used by many different applications, while separating them from the actual application.
A good programming technique is to end all files with ".php" so that anyone choosing to hack your application cannot see the content of private files .. like "_app.inc" which contains your user name and password to your database. By adding the ".php" extension, the file will only display as a blank file, since PHP interprets the file looking for print statements and finds none. Otherwise it would print as a text file on the web browser.
And now the structure ...
Web Root
| - [Application]
| - | - add.php
| - | - delete.php
| - | - edit.php
| - | - list.php
| - | - new.php
| - | - trgrs_contacttypes.js
| - | - update.php
| - | - view.php
| - | - styles.css
| - | - nRootFolder.php
| -
| - Install
| - | - install.php [ from Ladder ]
| - | - CreateFolder.php [from application]
| - | - install.php [from application]
| -
| - Shared
| - | - _app.inc
| - | - styles.css
| - | - functions.inc
| - | - install_functions.inc
| - | - GPL.txt
| - | -
| - | - Classes
| - | - | - Common
| - | - | - | - Common_Appointments.cls
| - | - | - | - Common_Appointment.cls
| - | - | - | - Common_Notes.cls
| - | - | - | - Common_Note.cls
| - | - | - | - Common_People.cls
| - | - | - | - Common_Person.cls
| - | - | - | - Common_Name.cls
| - | - | - | - Common_Address.cls
| - | - | - | - Common_Contacts.cls
| - | - | - | - Common_Contact.cls
| - | - | - | - Common_ContactMethod.cls
| - | - | - | - Common_ContactType.cls
| - | - | - | - Common_ContactTypes.cls
| - | - | - | - Common_Todos.cls
| - | - | - | - Common_Todo.cls
| - | - | -
| - | - | - Ladder
| - | - | - | - Ladder_Globals.cls
| - | - | - | - Ladder_Folder.cls
| - | - | - | - Ladder_Item.cls
| - | - | - | - Ladder_Properties.cls
| - | - | - | - Ladder_References.cls
| - | -
| - | - Panels
| - | - | - Common_Panel.cls
| - | - | - Common_List5.cls
| - | - | -
| - | - | - Common
| - | - | - | - Panel_Common_Appointments.cls
| - | - | - | - Panel_Common_Appointment.cls
| - | - | - | - Panel_Common_Notes.cls
| - | - | - | - Panel_Common_Note.cls
| - | - | - | - Panel_Common_People.cls
| - | - | - | - Panel_Common_Person.cls
| - | - | - | - Panel_Common_Name.cls
| - | - | - | - Panel_Common_Address.cls
| - | - | - | - Panel_Common_Contacts.cls
| - | - | - | - Panel_Common_Contact.cls
| - | - | - | - Panel_Common_ContactMethod.cls
| - | - | - | - Panel_Common_ContactType.cls
| - | - | - | - Panel_Common_ContactTypes.cls
| - | - | - | - Panel_Common_Todos.cls
| - | - | - | - Panel_Common_Todo.cls
| - | - | -
| - | - | - Ladder
| - | - | - | - Panel_Ladder_Folder.cls
| - | - | - | - Panel_Ladder_Item.cls
| - | - | - | - Panel_TreeView.cls
| - | - | - | - Panel_Folder_DetailList.cls
The structure will continue to grow as applications are published. And I will published the structure for the specific application so that you don't have to search for this blog each time to review the structure of where things should be.
Should you have questions, comments, concerns, thoughts or wants, please post them here. Feedback is a wonderful way to continue to improve any product.
Happy Programming
E Net Arch
A good programming technique is to end all files with ".php" so that anyone choosing to hack your application cannot see the content of private files .. like "_app.inc" which contains your user name and password to your database. By adding the ".php" extension, the file will only display as a blank file, since PHP interprets the file looking for print statements and finds none. Otherwise it would print as a text file on the web browser.
And now the structure ...
Web Root
| - [Application]
| - | - add.php
| - | - delete.php
| - | - edit.php
| - | - list.php
| - | - new.php
| - | - trgrs_contacttypes.js
| - | - update.php
| - | - view.php
| - | - styles.css
| - | - nRootFolder.php
| -
| - Install
| - | - install.php [ from Ladder ]
| - | - CreateFolder.php [from application]
| - | - install.php [from application]
| -
| - Shared
| - | - _app.inc
| - | - styles.css
| - | - functions.inc
| - | - install_functions.inc
| - | - GPL.txt
| - | -
| - | - Classes
| - | - | - Common
| - | - | - | - Common_Appointments.cls
| - | - | - | - Common_Appointment.cls
| - | - | - | - Common_Notes.cls
| - | - | - | - Common_Note.cls
| - | - | - | - Common_People.cls
| - | - | - | - Common_Person.cls
| - | - | - | - Common_Name.cls
| - | - | - | - Common_Address.cls
| - | - | - | - Common_Contacts.cls
| - | - | - | - Common_Contact.cls
| - | - | - | - Common_ContactMethod.cls
| - | - | - | - Common_ContactType.cls
| - | - | - | - Common_ContactTypes.cls
| - | - | - | - Common_Todos.cls
| - | - | - | - Common_Todo.cls
| - | - | -
| - | - | - Ladder
| - | - | - | - Ladder_Globals.cls
| - | - | - | - Ladder_Folder.cls
| - | - | - | - Ladder_Item.cls
| - | - | - | - Ladder_Properties.cls
| - | - | - | - Ladder_References.cls
| - | -
| - | - Panels
| - | - | - Common_Panel.cls
| - | - | - Common_List5.cls
| - | - | -
| - | - | - Common
| - | - | - | - Panel_Common_Appointments.cls
| - | - | - | - Panel_Common_Appointment.cls
| - | - | - | - Panel_Common_Notes.cls
| - | - | - | - Panel_Common_Note.cls
| - | - | - | - Panel_Common_People.cls
| - | - | - | - Panel_Common_Person.cls
| - | - | - | - Panel_Common_Name.cls
| - | - | - | - Panel_Common_Address.cls
| - | - | - | - Panel_Common_Contacts.cls
| - | - | - | - Panel_Common_Contact.cls
| - | - | - | - Panel_Common_ContactMethod.cls
| - | - | - | - Panel_Common_ContactType.cls
| - | - | - | - Panel_Common_ContactTypes.cls
| - | - | - | - Panel_Common_Todos.cls
| - | - | - | - Panel_Common_Todo.cls
| - | - | -
| - | - | - Ladder
| - | - | - | - Panel_Ladder_Folder.cls
| - | - | - | - Panel_Ladder_Item.cls
| - | - | - | - Panel_TreeView.cls
| - | - | - | - Panel_Folder_DetailList.cls
The structure will continue to grow as applications are published. And I will published the structure for the specific application so that you don't have to search for this blog each time to review the structure of where things should be.
Should you have questions, comments, concerns, thoughts or wants, please post them here. Feedback is a wonderful way to continue to improve any product.
Happy Programming
E Net Arch
You need to be a registered user or login to post a comment
1,534,284 PHP developers registered to the PHP Classes site.
Be One of Us!
Login Immediately with your account on:
Comments:
No comments were submitted yet.