I am writing an web application powered by PHP, Smarty, JavaScript, CSS, MySQL.
There will be some classes, which will be used through out the application. There wi
A very basic folder layout:
root
|
|- htdocs # apache documentroot (i.e. index.php etc.) here
| |
| |- styles # css here
| |
| |- images
|
|- application # classes etc. here
|
|- vendor
| |
| |- smarty # smarty library files
Here are two good articles on PHP projects using Smarty and how to setup the file structure for them:
http://codepoets.co.uk/php5_application_directory_structure_ruby_on_rails
http://www.edit-x.com/editx-support-articles.php?s=&c=21&d=48&e=&f=&g=&a=11122&w=2
Just remember PHP libraries and template files should not be directly accessible over the web server.
You can make class names like My_Db_Table and load them with __autoload.
/project
- /config
- /html
- - /css
- - /images
- - /js
- - /subdirs for php files unless you use apache mod_rewrite or similar
- - index.php
- - otherfiles.php
- /lib
- - /My
- - - /Db
- - - - Table.php
- /templates
- /functions
- /scripts