【问题标题】:What folder structure do you use [closed]您使用什么文件夹结构[关闭]
【发布时间】:2010-09-24 07:21:58
【问题描述】:

无论您是自己构建 PHP 应用程序还是使用框架(MVC 或其他),您认为哪种文件夹结构最符合逻辑并且您一直在坚持使用。

我还没有开发出我承诺的文件夹结构,但我注意到我所有的项目,即使是 2 页的项目,至少也有一个 webroot 文件夹(用于 htaccess、index、css、havascript 等文件) 和上面的 web 根目录的另一个文件夹,我尝试在其中保留尽可能多的文件。很基本。希望听到其他人正在做些什么来保持他们的节目井井有条。

【问题讨论】:

标签: php


【解决方案1】:

我的 web 项目的默认文件夹结构是

+projectname/
  +htdocs/
  | +assets/
  | | +js/
  | | +css/
  | | +img/
  | | +swf/
  | +content/
  +sys/
  | +temp/
  | +config/
  | +libs/
  +docs

【讨论】:

    【解决方案2】:

    如果您使用框架,我建议您坚持为框架推荐的文件夹结构。这意味着一旦你学会了它,你就可以更容易地适应使用该框架制作的其他项目,其他熟悉该框架的程序员也会更容易理解你的。

    【讨论】:

      【解决方案3】:

      对于小型项目,我通常使用以下工作:

      • httpdocs(网络根)
        • data-providers(AJAX 端点)
        • script(JS:实用程序、脚本、库)
        • style(CSS 和图形 - 主要是 sprites 而不是我以前拥有的 gfx 文件夹)
      • models(PHP 类)

      至于httpdocs 中的PHP 文件,我通常每页/功能使用一个文件(包括基本CRUD operations)。

      【讨论】:

      • 那么您将用于 CRUD 操作的 PHP 文件与网页的 PHP 文件一起放在 httpdocs 中?那么“数据提供者”中有哪些类型的文件?以及如何访问模型?使用“../”路径?
      • @Tomas 模型是 __autoload'ed 来自 .htaccess 包含的 config.php 文件,该文件位于 httpdocsmodels 的父文件夹中。 data-providers 包含返回片段的资源,例如,通过 jQuery 加载的 city-for-zip 等。至于 CRUD 操作:一个文件 - 例如,user.php - 将(默认情况下)显示一个 User 实例,但也处理创建和更新。我知道,这不是真正的 MVC,但这些都是小型(主要是私有)项目。
      【解决方案4】:

      我通常遵循类似于 Martin Holzhauer 的方法,但是我将任何常见的 php 包含在一个单独的树中(通过 include_path 引用 - 称之为公共库)。

      旨在通过浏览器直接寻址的每个页面都在其自己的目录中创建为 index.php。包含特定于该单个页面的文件(或任何其他内容)进入该目录,常见的包含进入公共库。

      通过保持上传临时性并在 Web 根目录之外包含内容,它在一定程度上简化了安全性。

      在实践中,我实际上有几个包含路径 - 有关完整说明,请参阅今年早些时候 PHP Architect 中的文章 - 但这允许我控制 dev / staging / live 的不同设置(例如数据库设置)。并且还覆盖特定文件(例如,添加额外的日志记录/诊断)

      【讨论】:

        猜你喜欢
        • 2019-06-14
        • 1970-01-01
        • 2017-01-06
        • 2014-06-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多