我的框架应该有多少目录分隔?

时间:2010-07-05 18:57:26

标签: php model-view-controller directory-structure separation-of-concerns

嘿伙计们,这里只是一个小问题..(希望如此!)

我一直在为PHP MVC框架尝试一堆不同的目录结构。在这样做时,我想到了将应用程序的不同部分彼此分开的几个原因。

例如,假设这是我目前的结构:

- index.php
- private/
    - application/
        - ... (MVC stuff. Irrelevant I think...)
    - config/
        - config.php
    - framework/
        - bootstrap.php
        - includes/
        - library/
            - ... (Framework classes)
    - libraries/
        - Zend/
        - PEAR/
 - public/
     - css/
     - images/

我拥有它的方式,我只需覆盖 / private / framework / 目录即可更新框架,这不会影响 / private / config /中用户的框架配置,或 / private / libraries / 中的第三方库。

/index.php 文件几乎完全用于加载 /private/framework/bootstrap.php 文件,这意味着更新 / private / framework / 目录还将更新主引导文件(使我不必更新 /index.php 文件,该文件将保持不变,因为其中没有多少内容)。

此外,该应用程序也与框架的所有内容分开,因此用户可以在需要时切换/更改/更新其应用程序,而无需担心其他目录。

我是否在正确的轨道上关于将目录彼此分开以使它们更容易更新?

我在一些框架中看到他们的框架目录中有 / private / libraries / / private / application / 目录......但是这个在我看来,如果需要的话,很难更新到更新版本的框架。或者我是以错误的方式思考它?

如果您有兴趣,可以查看我之前的目录结构here。我的新问题有点不同(希望更好......),我的问题也是如此,所以我认为有必要发布一个新问题。

这不像我希望的那么小,但是啊! ;)

提前致谢=)

1 个答案:

答案 0 :(得分:2)

我建议将框架代码与应用程序代码分开。框架应位于一个顶级目录下,应用程序位于不同的目录下。

实际上......我建议您查看CakePHP使用的目录结构。