Full Directory Tree's (all possible directories) / Layouts By Name
Intro. The aim of this document is to demonstrate and name the types of layouts that are commonly found in dynamic web applications. While these do not specifically serve as the "end-all-be-all", they are indeed a guide.
This guide aims to:
- Aid developers in starting a new project.
- Explain the pros and cons associated with a given layout.
- PseudoStandardize the approach of determining a layout.
- Give developers a resource and guide when talking about their layout with other developers.
Classical
Initially broken down into two main directories, web-readable and application files. The application directory mimics the *nix layout style of application development. This style would be prefered by someone who favors the unix application/os layout. Pros include self containment, logical orgainization, local (not server wide) library files, and is good for applications whos models, views and controllers are typically interrelated. Cons include a 'techy' naming convention which is indiginous to the *nix style, lumps all models, views and controllers together (if they are not-interrelated.. think the code overlap between an sites blog application and a voting module).
Classical Extended
Conventional
Conventional Modular
Classical Extended Embedded
Modular Suffix - When models,views and controller for a specific application module are grouped into logical 'packages', or directories.
Extended Suffix - More human readable naming conventions, typically but not limited to the following:
etc => config
lib => library
usr => user
var => variable
Embedded Suffix - In certian environments, moving the application-related files outside the web-readable directory might not be an option, in this case, the files are in the web readable directory and MUST BE protected via a .htaccess file, or some other related protection mechanism. Also note, that the route /application/ would not be available due to it existing in the file system
Httpdocs - Other acceptable names for the web readable directory may include: htdocs or public_html
ZF Home Page
Code Browser
Wiki Dashboard
Ralph,
Please see the updated document at http://framework.zend.com/wiki/display/ZFUSER/Directory+Layout+Examples+for+MVC+Applications