首页 > 程序开发 > Zend Framework的项目目录结构

Zend Framework的项目目录结构

2008年9月25日

参考ZF1.6版本之前建议的通用目录结构 ,或许你能找到你现在的代码所使用的目录结构。目前我们开发使用的文件结构
框架遵循Zend Framework 1.6 Proposal Project Structure如下:

<project name>/
  application/
    apis/
    config/
    controllers/
        helpers/
    layouts/
        filters/
        helpers/
        scripts/
    models/
    modules/
    views/
        filters/
        helpers/
        scripts/
    bootstrap.
  data/
    cache/
    indexes/
    locales/
    logs/
    sessions/
    uploads/
  docs/
  library/
  public/
    css/
    js/
    images/
    .htaccess
    index.
  scripts/
    jobs/
    build/
  temp/
  tests/

2009/7/30更新:ZF1.8的推荐项目目录结构:

根据项目的复杂度不同和需要不同,可以有不同的目录构造,Zend Framework所推荐的目录结构如这篇proposal所示。我所使用的目录结构图和ZF的规范相同,可以用zend tool直接生成:

dev:~# cd /var/www/jefflei
dev:~# zf create project .
Creating project at /var/www/jefflei

目录结构大致如示意图所示,因为比较懒,借用了别人的结构图。我们使用的有如下几点不同:

1. .htaccess, index.php是放在public目录下的,这样方便将document root设置到public目录下,增强安全性。

2. library。如果不是需要同时在多个项目中使用不同版本的Zend Framework类库,建议将ZendFramework类库放在项目目录的外面,这样减少主项目的size。

3. Modules目录下通常是application目录结构的迭代,比如:

`-- application
|  `-- controllers
|  `-- models
|  `-- views
|  `-- modules
|  |   `-- foo
|  |       `-- controllers
|  |       `-- models
|  |       `-- views
|  |       `-- Bootstrap.php  ⇐ class Foo_Bootstrap extends Zend_Application_Module_Bootstrap
|  `-- Bootstrap.php ⇐ class Bootstrap extends Zend_Application_Bootstrap_Bootstrap
`-- public

以上部分也可以用Zend Tool来生成:

dev:~# zf create module foo
Creating the following module and artifacts:
/var/www/jefflei/application/modules/foo/controllers
/var/www/jefflei/application/modules/foo/models
/var/www/jefflei/application/modules/foo/views
/var/www/jefflei/application/modules/foo/views/scripts
/var/www/jefflei/application/modules/foo/views/helpers
/var/www/jefflei/application/modules/foo/views/filters
Updating project profile '/var/www/jefflei/.zfproject.xml'

dev:~# zf create controller index index-action-included=1 foo

另外一些大型项目一般都会另外单独建立extension目录,运行项目之间共享common的代码,大致结构如下:

;;;;extensions?;;;;
;   extensions/
;       <extension_name>
;           application/
;               configs/
;                   ownroute.ini
;                   extension.ini
;               controllers/
;                   helpers/
;               views/
;                   filters/
;                   helpers/
;                   scripts/
;               layouts/
;                   filters/
;                   helpers/
;                   scripts/
;               models/
;           docs/
;           data/
;               indexes/
;               locales/
;               logs/
;               uploads/
;           library/
;           override_public/
;               scripts/
;               styles/
;               images/
;;;;extensions?;;;;
VN:F [1.9.22_1171]
Rating: 10.0/10 (2 votes cast)
VN:F [1.9.22_1171]
Rating: 0 (from 0 votes)
Zend Framework的项目目录结构, 10.0 out of 10 based on 2 ratings

程序开发 ,

  1. 本文目前尚无任何评论.
  1. 本文目前尚无任何 trackbacks 和 pingbacks.

This blog is kept spam free by WP-SpamFree.